用户如何使用shell脚本响应系统提示

时间:2016-02-24 05:18:30

标签: bash shell

我正在尝试使用shell脚本自动化某些东西。

我的问题是有系统提示时,例如“你想继续吗(你/):” 我需要使用我的shell脚本输入y,它怎么做?因此,当系统提示显示在shell上时,我的shell脚本应该能够自动输入y。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以尝试expect脚本

  

它用于自动控制交互式应用程序,例如   telnet,f​​tp,passwd,fsck,rlogin,tip,ssh等。期待用途   伪终端(Unix)或模拟控制台(Windows),启动   目标程序,然后与它进行通信,就像人类一样,   通过终端或控制台界面。

答案 1 :(得分:0)

使用重定向非常容易,有几种方法可以实现。这使用 here string 。首先要生成该系统提示符:

more one.sh
read -p "Do you want to continue (y/n): " ans
echo "Answer was $ans"

现在运行该程序的脚本:

bash one.sh <<< 'y'

输出:

Answer was y

警告!这通过重定向进程的标准输入流来工作。某些程序,特别是在获取密码时,出于安全原因,以较低级别访问终端驱动程序。