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