bash编程中不得不注意的一些细节

1. = 号赋值不能有空格:

   我们用其他语言写程序的时候,=号两边喜欢留一个空格,这是一种很好的习惯,让程序读起来舒适。但是在bash编程中,这种做法却会产生错误。

  例如:   a = 123 或 a= 123 或  a =123这些都会报错,只有a=123(等号两边无空格)才能正常执行,这一点需要非常注意。


2. if语句条件两边要加空格

  例如 if[12 -lt 13]; then 这个语句是不能正常解释的,只有写成这样的形式: if[ 12 -lt 13 ] (注意中括号与条件之间有空格)才能正常解释。


3. if条件语句后面要加分号: 

  网上很多教程在介绍bash的if语句时,基本上都套用这个模式:

if condition1 then

   dosomething

else

  dosomething

fi

 这样很容易让一些像我这样的新手弄出莫名其妙的错误。

例如笔者写了一段这样的程序:       

if [ 22 -lt 33 ]  then
    echo "22 less than 33"
else
    echo "ok"
fi

然而程序运行的状况却让笔者摸不着头脑。报出这样的错误:

[sycflash@localhost bash]$ sh if_else.sh

if_else.sh: line 12: syntax error near unexpected token `else'

if_else.sh: line 12: `else'

上网搜索了一阵才知道原来是我的if [ 22 -lt 33 ]这句后面忘了加分号,程序修改成以下形式就OK了。

if [ 22 -lt 33 ];  then        <-----------------------------注意then 前面的分号
    echo "22 less than 33"
else
    echo "ok"
fi

上面两个问题看似小事,但却会让初学者头晕脑胀。望各位读者也贴出自己曾经遇到过的麻烦,让bash编程者少走弯路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值