如何在Bash脚本中回答"是"

Vor*_*Vor 11 linux bash

有一个简单的问题,

想象我有这个代码:

mkdir -p $INSTALLDIR
sudo apt-get install -y git clojure leiningen
git clone git://github.com/maltoe/storm-install.git
./storm-install/storm_install.sh all `hostname` $INSTALLDIR
Run Code Online (Sandbox Code Playgroud)

这个脚本会问,你想安装额外的软件包,我想说yes,如何自动执行此操作?

或者可能有一种方法可以默认回答任何问题?

小智 8

我不确定,但我建议尝试:

echo yes | ./storm-install/storm_install.sh all `hostname` $INSTALLDIR
Run Code Online (Sandbox Code Playgroud)


tro*_*skn 7

用命令恰当命名 yes


Jim*_*mmy 6

如果您正在运行脚本,请尝试以下操作:

yes "yes" | bash script.sh 
Run Code Online (Sandbox Code Playgroud)


jim*_*ara 5

假设风暴问问题 - 使用这里的文档 - 示例:

mkdir -p $INSTALLDIR
sudo apt-get install -y git clojure leiningen
git clone git://github.com/maltoe/storm-install.git
./storm-install/storm_install.sh all `hostname` $INSTALLDIR  <<-EOF
yes
EOF
Run Code Online (Sandbox Code Playgroud)

EOF可以是shell无法解释的任何无意义字符.