bash測試是否有文法測試
bash -n file.sh
以調試模式執行腳本
bash -x file.sh
shell中定義全局變量
export DATE=`date +%Y%M%D`
shell中互動式輸入
read
-t:設定逾時時間
-p:指定提示資訊
shell中進行算術運算符
A=3
B=4
如果使用C=$A+$B表示字元串相加,結果為3+4
1、let 算術運算表達式
let C=$A+$B
2、$[算術運算表達式]
C=$[$C+$B]也可寫作
let C+=$B
3、$((算術運算符))
C=$(($A+$B))
4、expr 算術運算符,表達式之間要有空格,并使用指令引用
C=`expr $A + $B`
shell中條件測試
1、整數測試(雙目操作,比較兩個數字,一般是變量和數字或者變量和變量)
表達式[ $A -eq $B ] (指令測試法,注意空格)
[[ $A -eq $B ]] (關鍵字測試法)
test $A -eq $B (test指令測試法)
-gt大于
-le小于等于
-ne不等于
-eq等于
-ge大于等于
-lt小于
注:在測試時,除了使用上述判斷式以外,都無需使用[]
如:if grep "^$USERNAME\>" /etc/passwd ;then 可以直接判斷,無需使用[]
2、檔案測試
-e FILE:測試檔案是否存在
-f FILE:測試檔案是否為普通檔案
-d FILE:測試檔案是否為目錄
-r FILE:測試目前使用者對指定檔案是否用讀取權限
-w FILE:測試目前使用者對指定檔案是否用寫入權限
-x FILE:測試目前使用者對指定檔案是否用執行權限
如:if [ -f /etc/inittab ] (注意空格)
3、字元測試
==:測試是否相等,等為真,不等為假(==兩邊要注意有空格)
!=:測試是否不等,不等為真,等為假
>:測試是否大于,大于為真,小于為假
<:測試是否小于,小于為真,大于為假
-n string:測試指定字元串是否為空,空為真,不空為假
-s string:測試指定字元串是否不為空,不空為真,空為假
<code>[root@liang-study scripts]</code><code># A=hello</code>
<code>[root@liang-study scripts]</code><code># B=hi</code>
<code>[root@liang-study scripts]</code><code># [ $A == $B ]</code>
<code>[root@liang-study scripts]</code><code># echo $?</code>
<code>1</code>
exit # 定義退出狀态碼
bash變量類型
本地變量(局部變量)【作用域為目前Shell】
環境變量【作用域為目前shell和子shell】
位置變量
$1 $2 $3
shift n(踢除前n個位置變量)
特殊變量
$?:上一條指令執行狀态
$#:參數的個數
$*:參數清單
$@:參數清單
本文轉自 亮公子 51CTO部落格,原文連結:http://blog.51cto.com/iyull/1884528