shell中用【】做判断引起的“时间浪费”

来源:互联网 发布:java heap 编辑:程序博客网 时间:2024/04/29 23:19


写了一个简单的shell,用来接收输入,并做判断,根据判断结果输出对应的字符串,如下所示:

#!/bin/shecho "Enter a:"read aecho "a is $a"if ["$a" = "1"];thenecho "a=1"elif ["$a" = "2"];thenecho "a==2"elseecho 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" ];thenecho "a=1"elif [ "$a" = "2" ];then


下次得吸取教训。不过也反映出,写shell脚本,自己还是一个新手,还得多练习,多积累。


 

原创粉丝点击