我如何传递多个参数和执行shell脚本与echo?



我想执行一个交互式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,不需要任何提示符。为此,我尝试了"echo",但似乎不起作用:

echo password | echo y | ./install.sh

我怎么能执行这个脚本在一个镜头与所有的输入值(使用echo或其他任何东西)?

echo password | echo y | ./install.sh

你很接近,但是echo不适合管道的中间:它不做任何事情与它的stdin,所以你会失去任何东西从管道的早期。

您希望将echo语句分组并将的管道到安装脚本中:

{
echo y
echo "$password"
} | ./install.sh

或者,使用printf命令(格式字符串重复使用,直到所有参数都被使用)

printf '%sn' "y" "$password" | ./install.sh

相关内容

  • 没有找到相关文章

最新更新