快速提问,
想象我有这段代码:
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
这个脚本会问,你想安装其他软件包,我想说yes
,
如何自动完成?
或者可能有一种方法可以默认回答任何问题?
答案 0 :(得分:8)
我不确定,但我建议尝试:
echo yes | ./storm-install/storm_install.sh all `hostname` $INSTALLDIR
答案 1 :(得分:7)
命令名称为yes
答案 2 :(得分:6)
如果您正在运行脚本,请尝试以下操作:
yes "yes" | bash script.sh
答案 3 :(得分: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
EOF可以是shell不会解释的任何无意义的字符。
答案 4 :(得分:3)
apt
还有--force-yes
选项,可能会有所帮助:
--force-yes
Force yes; This is a dangerous option that will cause apt to
continue without prompting if it is doing something potentially
harmful. It should not be used except in very special situations.
Using force-yes can potentially destroy your system! Configuration
Item: APT::Get::force-yes.
答案 5 :(得分:2)
我有一个脚本需要通过&#34;是&#34;几次,最后我们需要传递&#34;版本号&#34;为了部署到nexus。 有什么建议?
答案 6 :(得分:0)
( echo yes ; echo no; echo yes ) | script.sh