我想执行一个交互式shell脚本,该脚本使用“echo”命令要求多个用户输入。该脚本的执行方式如下:
./install.sh
are you sure you want to install (y/n) *<required user input>*
enter root password: *<required user input>*
Installation Successful.
我想install.sh在一行命令中执行www.example.com,而不需要任何提示。为此,我尝试了“echo”,但似乎不起作用:echo password | echo y | ./install.sh
如何使用所有输入值一次性执行此脚本(使用echo或其他方法)?
1条答案
按热度按时间ie3xauqp1#
echo password | echo y | ./install.sh
您已经很接近了,但是
echo
并不适合放在管道的中间:它不使用其stdin执行任何操作,因此您将丢失管道早期的任何内容。您希望将
echo
语句分组并将 that 管道传输到安装脚本中:或者,使用
printf
命令(重复使用格式字符串,直到使用完所有参数)