bash if语句问题

时间:2015-06-29 13:58:21

标签: linux bash if-statement scripting

有人会介意给我一个以下IF声明吗?

read -e -p"你想现在重启吗?:" -i" " REBOOT

if $REBOOT = 'yes' ; then
   echo 'System will now reboot'
   shutdown -r now
else $REBOOT != 'yes'
   echo 'You have chosen to reboot later'
fi

如果我输入“是”'我得到以下结果

= yes
= yes
= yes
...
= yes

如果我进入' no'我得到以下内容:

./test.sh: line 7: no: command not found
./test.sh: line 10: no: command not found
You have chosen to reboot later

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您获得的输出与输入的输出相同:

yes = 'yes'

要表示比较,您应该在if上使用括号。它应该是:

if [ $REBOOT = 'yes' ] ; then

加上你在没有另一个if的情况下对else有第二个条件。你无论如何都不需要它

总代码应为:

if [ $REBOOT = 'yes' ] ; then
   echo 'System will now reboot'
   shutdown -r now
else
   echo 'You have chosen to reboot later'
fi