我想创建一个关闭脚本,但它并没有按预期工作。这就是我写的。
echo "Wanna shutdown (y/n)?"
read ANSWER
if [ $ANSWER=="y" ]
then
sudo shutdown -P now
else
printf "Something...."
无论我怎么按它都会关闭。为什么呢?
答案 0 :(得分:2)
您需要在==运算符周围添加空格。否则,测试表达式是单个单词,并且所有非空单词都会成功测试。
此外,如果您希望便携,则应使用=
代替==
。而引用变量扩展是明智的,因为[
不会为你做这件事。
if [ "$ANSWER" = y ]; then
另一方面,如果您使用的是bash(或ksh或zsh),则可以使用更宽容的[[
条件表达式:
if [[ $ANSWER = y ]]; then