当我在服务器上运行两次时,有一个shell脚本它会多次询问yes/no
几次100次。我厌倦了每次都输入yes
。有没有办法运行该脚本只是将yes作为默认选项。以下是我的脚本!仅供参考,我无法编辑我的剧本。
我可以使用./ittp-update.sh
#!/bin/bash
echo "Do you need to install the necessary compiling tools?"
select yn in "Yes" "No"; do
case $yn in
Yes ) sudo apt-get install tools; break;;
No ) <Here I want to skip to the next step. I originally left it
blank and removed the "done" command (after esac command)
to do this, but if I choose yes, it skips to the end
(where the next "done" command is and ends the script>
esac
echo "Do you need to eidt your configuration?"
select ny in "No" "Yes"; do
case $ny in
No ) <what do I put here to skip to the next tag
(labeled compile for example purposes); break;;
Yes )
esac
echo "You have 3 options with how you can edit you config file."
...
答案 0 :(得分:6)
如果你只需要回答&#34;是&#34;对于一切,你可以使用
yes Yes | ./ittp-update.sh
这是如何运作的:
yes
打印您提供的字符串(或者#34; y&#34;如果您不给它任何东西,因为这是在*中给出肯定答案的默认方式nix程序)在标准输出上重复,直到收到SIGPIPE
。|
)将前面命令(yes
)的标准输出连接到以下命令(./ittp-update.sh
)的标准输入。./ittp-update.sh
完成时,shell会自动将SIGPIPE
发送到通过管道连接到它的任何命令(在这种情况下只有yes
)。SIGPIPE
后,yes
退出。有关详细信息,请参阅man yes
。