Bash if else语句语法错误

Jul*_*ina 1 bash shell scripting

所以我有这个小问题.我不确定它出了什么问题,因为我很确定我的代码是正确的.这是代码:

#!/bin/bash
playerHP=100
echo "Hello World"
echo "HP: $playerHP"
echo "Continue? (Y/N):"
read -p $confirm
if [ "$confirm" = "y" ]
then
    echo "Yes"
elif [ "$confirm" = "n" ]
then
    echo "No"
else
    echo "No such command"
fi
Run Code Online (Sandbox Code Playgroud)

这是结果: 在此输入图像描述

cho*_*oba 5

不相关:之后read需要提示-p.将前一个混合echo到其中,然后在其中删除$变量名称.

read -p "Continue? (Y/N):" confirm
Run Code Online (Sandbox Code Playgroud)

错误消息令人困惑.你不是在脚本中有MSWin行结尾吗?

  • 它不仅仅是"在它时":使用`$`在运行`read`内置运行并且用户输入丢失之前,`$ confirm`变量被扩展为空字符串. (2认同)