我想制作一个关闭脚本,但它没有按预期工作。这是我写的。
echo "Wanna shutdown (y/n)?"
read ANSWER
if [ $ANSWER=="y" ]
then
sudo shutdown -P now
else
printf "Something...."
无论我按什么,它都会关闭。为什么?
您需要在 == 运算符周围添加空格。否则测试表达式是单个单词,并且所有非空单词测试成功。
另外,如果你希望便携,你应该使用=
代替==
。双引号变量扩展总是明智的,因为[
不会为你做那件事。
if [ "$ANSWER" = y ]; then
另一方面,如果您使用 bash(或 ksh 或 zsh),您可以使用更宽容的[[
条件表达式:
if [[ $ANSWER = y ]]; then
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)