1.shell的基本類型:html
表達式類型:使用關鍵字expr申明。linux
聲明格式 :var=`expr $a - $b`shell
相關運算符號:+,-,*,/,%。ide
坑點:必定要注意空格,某些地方空格省略會形成語法錯誤,還有運算字符的轉義,好比*函數
數字類型:變量等號右邊使用數字聲明。spa
聲明格式:a=10code
相關運算符:-eq:是否相等,-ne:是否不相等,-gt:檢測左邊的數是否大於右邊的,-lt:檢測左邊的數是否小於右邊的,-ge:檢測左邊的數是否大於等於右邊的,-le:檢測左邊的數是否小於等於右邊的htm
坑點:只適用於數字類型blog
字符串類型:使用單引號或者雙引號引出。教程
聲明格式:a="abc"
相關運算符:=,!=,-z,-n,$
坑點:只適用於字符串類型
文件類型:使用雙引號引出。相似於字符串類型,可是帶有/號。
聲明格式:file="/home/abc"
相關運算:過於多。。。接受主要三個-r:檢測是否可讀,-w:檢測是否可寫,-x:檢測是否可執行,-s:檢測是否爲空,-e:檢測文件是否存在。
詳細實例均可以在菜鳥教程種找到:https://www.runoob.com/linux/linux-shell-basic-operators.html
2.流程控制
for循環
for var in item1 item2 ... itemN do command1 command2 ... commandN done
while循環
while condition do command done
上面的循環均支持continue 和 break語句
if else
if condition1 then command1 elif condition2 then command2 else commandN fi
坑點:形如[ $a == $b ]的表達式,中括號裏面空格不能省略。
還有可使用test命令來省略中括號
實例:
num1=100 num2=100 if test $[num1] -eq $[num2] then echo '兩個數相等!' else echo '兩個數不相等!' fi
3.函數使用——————留坑