Bash 当涉及到Y/N确认时,我应该将实际命令放在哪里?
我正在阅读,发现它对于我正在尝试编写的脚本很有用,但是如果给出了正确的输入,我应该将代码放在哪里执行呢 我的代码如下:Bash 当涉及到Y/N确认时,我应该将实际命令放在哪里?,bash,shell,while-loop,Bash,Shell,While Loop,我正在阅读,发现它对于我正在尝试编写的脚本很有用,但是如果给出了正确的输入,我应该将代码放在哪里执行呢 我的代码如下: while true; do read -p "Do you wish to install this program?" yn case $yn in [Yy]* ) make install; break;; [Nn]* ) exit;; * ) echo "Yes or No";; esac d
while true; do
read -p "Do you wish to install this program?" yn
case $yn in
[Yy]* ) make install; break;;
[Nn]* ) exit;;
* ) echo "Yes or No";;
esac
done
现在,我尝试执行的确认代码是:
apt-get install vsftpd
那么,这些代码到底去了哪里?说到这一点,我可能会很傻,但我无法理解。多亏了@that other guy和@Charles Duffy,我修复了我的脚本,使脚本代码如下所示:
while true; do
read -p "Do you wish to install $program-name?: " yn
case $yn in
[Yy]* ) echo "some code here"; break;;
[Nn]* ) break;;
* ) echo "Yes or No";;
esac
done
将$program name替换为任意代码,将$code替换为需要确认的代码。使用消除过程。执行N分支并退出有意义吗?还剩下什么?或者您需要搜索包含案例的教程。。。esac示例?那里应该有很多,否则在这里搜索[巴什]以撒可能就足够了。祝你好运。用你想要的任何命令替换makeinstall。或者你可以把代码放在循环之后,而不是放在循环内部。不,我的意思是在完成之后,所以完全在循环外部-这就是执行中断后流控制将跳转的地方。那么exit去哪里?exit完全停止脚本;如果我想让脚本继续运行,我会在[Nn]行中使用break?