我在运行关于剪刀石头布的小脚本时遇到了这个错误。这是我的代码,它在第二个 elif 语句上失败了,你能找出原因吗??
function compare () {
if [ "$userChoice" == "$computerChoice" ]
then echo "Empate!"
elif [ "$userChoice" == "piedra" ]
if [ "$computerChoice" == "tijeras" ]
then echo "La piedra gana"
else
echo "El papel gana"
fi
elif [ "$userChoice" == "papel" ]
if [ "$computerChoice" == "piedra" ]
then echo "El papel gana"
else
echo "Las tijeras ganan"
fi
fi
}
compare $userChoice $computerChoice
错误信息是:
myscript: line 10: syntax error near unexpected token `elif'
myscript: line 10: ` elif [ "$userChoice" == "papel" ]'
最佳答案
您忘记了几个“then”语句。永远记住的好方法是将“then”语句添加到与“if”相同的行。示例如下。
function compare () {
if [ "$userChoice" == "$computerChoice" ] ; then
echo "Empate!"
elif [ "$userChoice" == "piedra" ] ; then
if [ "$computerChoice" == "tijeras" ] ; then
echo "La piedra gana"
else
echo "El papel gana"
fi
elif [ "$userChoice" == "papel" ] ; then
if [ "$computerChoice" == "piedra" ] ; then
echo "El papel gana"
else
echo "Las tijeras ganan"
fi
fi
}
compare $userChoice $computerChoice
关于linux - 运行非常简单的 shell 脚本时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34911877/