如果我尝试运行这个脚本:
clear
echo -n "please enter a value"
read num
if [ "$num" -eq 8 ] then
echo "you entered 8"
else
echo "the number you entered was not 8"
我得到以下输出/错误:
请输入值5
./script.sh: 第 9 行: 意外标记“else”附近出现语法错误
./script.sh: 第 9 行: else'
为什么这个脚本无法运行?
答案1
子句后面缺少分号或换行符,并且块末尾也if
没有。fi
if
#!/bin/bash
clear
echo -n "please enter a value"
read num
if [ "$num" -eq 8 ]
then
echo "you entered 8"
else
echo "the number you entered was not 8"
fi
其他一些建议:
- 脚本应始终以一行开头
#!
,告诉系统要使用哪个解释器 - 您的比较
[ "$num" -eq 8 ]
是数字比较。如果您不确定用户是否真的会输入数字,请考虑使用字符串比较,[ 8 = "$num" ]
- 您可以将提示包含在
read
语句中,read -p "Please enter a value: " num