經過測試:== 沒用,而是應該使用= ,同時也可以使用 if [ $a -eq $b]或!=來實現==作用
1.變量
a='hello world'
echo $a 或 echo "$a" [前面兩種情況加不加{}都行,${a}]
2.單引號和雙引號
單引號中內容全部原樣輸出(也就是在單引號中使用轉儀字符和變量是無效的)
雙引號中能使用變量和轉義字符
3.傳入變量
#!/bin/sh
echo "diyige $1" #diyige 1
echo "dierge $2" #dierge 2
echo "$#" #2 [$#表示參數個數]
echo "$*" #1 2 [將傳入的內容完整打印]
[xxc~]./shell.sh 1 2
#-----然後就會輸出
#--------------------------------基本運算符
算數運算符,關系運算符,布爾運算符,字符串運算符,文件測試運算符
1.expr [一款表达式计算工具,使用它能完成表达式的求值操作]
算數運算符
+ - \* / % 加 減 乘 除 取於
eg: val=`expr 2 + 2`
echo $val #注意: 2 + 2 運算符兩側是空格
eg : val=`expr $a \* $b` #$a乘以$b的值
布爾運算符
eq -ne -gt -lt -ge -le
等於 不等於 大於 小於 大於或等於 小於或等於
關系運算符
!非 [ ! false]
-o或 [ $a -lt 20 -o $b gt 100]
-a與 [ $a -lt 20 -a $b gt 100]
邏輯運算符
&& ||
經測試在if [] 中使用&& ||報錯,應使用-a -o 來代替
字符串運算符
= != -z 檢測字符串長度是否爲0[],爲0返回true
相等 不相等 -n檢測字符串長度是否爲0[],不爲0返回true
str 檢測字符串是否爲空,不爲空返回true [判斷一個變量是否爲空可直接用if [ $a ]]
文件測試運算符
-e file 檢測文件(包括目錄)是否存在,如果是,返回true
-s file 檢測文件是否爲空,不爲空返回true
-d file 檢測文件是否是目錄,如果是,則返回true
-w file 檢測文件是否可寫
-r file 檢測文件是否可讀
-x file 檢測文件是否可執行