我创建了一个非常简单的bash脚本,它运行一些命令。 其中一个命令需要在运行时输入用户。即它询问用户“你想要等等等等吗?”,我想简单地向其发送一个回车键,以便脚本完全自动化。
我不必在运行时等待输入或任何东西,它足以发送按键,输入缓冲区将处理其余的。
答案 0 :(得分:112)
echo -ne '\n' | <yourfinecommandhere>
或利用echo生成的隐含换行符(感谢Marcin)
echo | <yourfinecommandhere>
答案 1 :(得分:36)
您可能会发现yes
命令很有用。
请参阅man yes
答案 2 :(得分:22)
您可以使用yes。
# yes "" | someCommand
答案 3 :(得分:21)
以下是使用expect
的示例用法:
#!/usr/bin/expect
set timeout 360
spawn my_command # Replace with your command.
expect "Do you want to continue?" { send "\r" }
检查:man expect
以获取更多信息。
答案 4 :(得分:11)
您可以使用expect( man expect 附带示例)。