use*_*870 -1 linux bash if-statement
错误发生在第21行......
if [ $weight1 -gt $weight2 ];
then echo "Weight 2 should be greater than Weight 1."
else
if [ $weight1 -ge 20 ] && [ $weight1 -le 39 ];
then echo "Weight 1 is bike."
else
echo "Weight 1 is either bicycle, car, van or lorry."
fi
fi
Run Code Online (Sandbox Code Playgroud)
我没有看到问题,我的测试then关键字适用于您的情况,无论如何一些在您的代码中注明:
把then上线if操作:
if [ $weight1 -ge 20 ] && [ $weight1 -le 39 ]; then
Run Code Online (Sandbox Code Playgroud)将变量括在引号中:
if [ "$weight1" -ge 20 ] && [ "$weight1" -le 39 ]; then
Run Code Online (Sandbox Code Playgroud)我建议使用-a密钥,而不是两次调用[app:
if [ "$weight1" -ge 20 -a "$weight1" -le 39 ]; then
Run Code Online (Sandbox Code Playgroud)注意:错误Syntax error near unexpected token 'then'可能会在少数情况下上升:
在case then之外指定关键字时if:
weight1=21
then echo "Weight 1 is bike."
else
echo "Weight 1 is either bicycle, car, van or lorry."
fi
Run Code Online (Sandbox Code Playgroud)当你指定then两次时:
if [ "$weight1" -ge 20 -a "$weight1" -le 39 ]; then
then echo "Weight 1 is bike."
Run Code Online (Sandbox Code Playgroud)当你放到then不正确的地方时,例如,在else经营者之后:
else
then
echo "Weight 1 is either bicycle, car, van or lorry."
fi
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
9560 次 |
| 最近记录: |