天天看點

linux基礎--Bash程式設計基礎

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

繼續閱讀