在bash脚本中模拟用户输入

Wer*_*ulz 46 bash user-input input emulation

我正在创建自己的bash脚本,但我现在卡住了.基本上,该脚本将用于自动化CentOS中的服务器设置.某些软件通常会要求用户输入密码.我希望脚本将我生成并存储的密码作为变量而不是询问用户.

当安装过程中出现"新密码:"消息时,如何让脚本将值存储在变量中$key,就像用户使用bash脚本键入它一样?

Fre*_*lip 53

您应该会发现'expect'命令将执行您需要它执行的操作.它广泛可用.请看这里的例子:http://www.thegeekstuff.com/2010/10/expect-examples/

(非常粗略的例子)

#!/usr/bin/expect
set pass "mysecret"

spawn /usr/bin/passwd

expect "password: "
send "$pass"
expect "password: "
send "$pass"
Run Code Online (Sandbox Code Playgroud)

  • 是的,我用了很多! (2认同)
  • @ user1747935如果您有'expect`命令,那么您拥有所需的一切.注意hashbang`#!/ usr/bin/expect` - 你不应该从bash shell运行这个脚本. (2认同)