写了一个简单的shell,用来接收输入,并做判断,根据判断结果输出对应的字符串,如下所示:
#!/bin/sh
echo "Enter a:"
read a
echo "a is $a"
if ["$a" = "1"];then
echo "a=1"
elif ["$a" = "2"];then
echo "a==2"
else
echo echo "a=other"
fi
保存,授权,运行,报以错误:
./if.sh: line 5: [2: command not found
./if.sh: line 7: [2: command not found
不这两个问题,折腾了半个多小时去排错,也找不出那里有问题。最后上网找了一段别人写的if示例脚本,仔细做个对比,发现if后面的[]要加空格如,即要把第五、第七行改成以下形式(在[后打一个空格,在]前打一个空格):
if [ "$a" = "1" ];then
echo "a=1"
elif [ "$a" = "2" ];then
下次得吸取教训。不过也反映出,写shell脚本,自己还是一个新手,还得多练习,多积累。