我正在尝试使用shell脚本自动化某些东西。
我的问题是有系统提示时,例如“你想继续吗(你/):” 我需要使用我的shell脚本输入y,它怎么做?因此,当系统提示显示在shell上时,我的shell脚本应该能够自动输入y。
提前致谢。
答案 0 :(得分:0)
您可以尝试expect脚本
它用于自动控制交互式应用程序,例如 telnet,ftp,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
警告!这通过重定向进程的标准输入流来工作。某些程序,特别是在获取密码时,出于安全原因,以较低级别访问终端驱动程序。