shell脚本对空格有严格的规定,赋值语句等号两边不能有空格,而字符串比较,等号两边必须有空格

shell脚本对空格有严格的规定,赋值语句等号两边不能有空格,而字符串比较,等号两边必须有空格

赋值时: i=1

    i=$((i+1))                   //    =用作赋值时,两边绝对不能有空格

比较时: if [ $a = $b ]       // =用作比较判断时,两边必须有空格

if:
 if: if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi
 整数比较:if [  a -xx b  ] //中括号前后一定要加空格否则会报错
  =    //eq  equal
  >  //gt  greater than
  <  //lt  less than
  !=   //ne  not equal
  >=   //ge  greater equal
  <=   //le  less equal
 i=4
 if [ $i -lt 5 ]; then echo small ; elif [ $i -eq 5 ]; then echo equal ; else echo big ; fi
  //中括号前后一定要加空格否则会报错

 

1、shell脚本变量名、等号、值之间不能有空格

命名须遵循如下规则:
•首个字符必须为字母(a-z,A-Z)。
•中间不能有空格,可以使用下划线(_)。
•不能使用标点符号。
•不能使用bash里的关键字(可用help命令查看保留关键字)。

2、变量的引用是用$符号加上变量名,例如:

echo  ../${PROV}/${DATDIR}

变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,建议给所有变量加上花括号,这是个好习惯,既便于阅读,又不易出错

 

转自:https://www.cnblogs.com/star521/p/9189524.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章