shell 腳本中 空格的注意問題:= 賦值兩邊不能有空格,而if比較判斷時 = 兩邊必須加空格


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}

變量名外面的花括號是可選的,加不加都行,加花括號是為了幫助解釋器識別變量的邊界,建議給所有變量加上花括號,這是個好習慣,既便於閱讀,又不易出錯

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM