How to pass multiple keystrokes or y to a command in Centos or Redhat Linux ?

In this post, we will check how to automate entering of multiple y’s to a shell command or script.

This tip is very useful to sometimes automate few install scripts/commands.

1. hello variable gets the output of yes command i.e. “y”

[root@nglinux testdir]# yes | read hello ; echo $hello
y
[root@nglinux testdir]# 

 

2. yes will pass y when yum command prompts for answer.

[root@nglinux testdir]# yes | yum reinstall bc
Failed to set locale, defaulting to C
Loaded plugins: auto-update-debuginfo, fastestmirror, refresh-packagekit, security
Setting up Reinstall Process
Loading mirror speeds from cached hostfile
 * base: mirror.atlantic.net
 * epel: mirror.csclub.uwaterloo.ca
 * epel-debuginfo: mirror.csclub.uwaterloo.ca
 * epel64: mirror.csclub.uwaterloo.ca
 * extras: centos.mirror.constant.com
 * updates: centos.mirror.constant.com
Resolving Dependencies
--> Running transaction check
---> Package bc.i686 0:1.06.95-1.el6 will be reinstalled
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================
 Package          Arch               Version                        Repository          Size
=============================================================================================
Reinstalling:
 bc               i686               1.06.95-1.el6                  base               106 k

Transaction Summary
=============================================================================================
Reinstall     1 Package(s)

Total download size: 106 k
Installed size: 204 k
Is this ok [y/N]: Downloading Packages:
bc-1.06.95-1.el6.i686.rpm                                             | 106 kB     00:03     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : bc-1.06.95-1.el6.i686                                                     1/1 
  Verifying  : bc-1.06.95-1.el6.i686                                                     1/1 

Installed:
  bc.i686 0:1.06.95-1.el6                                                                    

Complete!
[root@nglinux testdir]# 

 

Leave a Reply

Your email address will not be published.