shell算術運算和檔案測試及多分支if語句

2021-12-30 07:05:18 字數 1389 閱讀 5226

shell算術運算

1、let 算術運算表示式

例如:let c=$a+$b

shell算術運算和檔案測試及多分支if語句

2、$[ 算術表示式 ]

例如:中括號和表示式之間必須有空格

shell算術運算和檔案測試及多分支if語句

3、$((算術表示式))

例如:shell算術運算和檔案測試及多分支if語句

4、expr 算術表示式

例如:表示式要用反引號,運算子之間要有空格

shell算術運算和檔案測試及多分支if語句

shell中的條件測試型別

整數測試

-eq等於

-ne不等於

-gt大於

-lt小於

-ge大於等於

-le小於等於

例如:判斷當前系統是否有預設使用者的shell是bash,如果有,顯示其中的乙個使用者名稱,如果沒有,就顯示沒有此使用者

shell算術運算和檔案測試及多分支if語句

字元測試

檔案測試

-e file(檔案路徑) :測試檔案是否存在

-f file:測試檔案是否為普通檔案

-d file: 測試指定路徑是否為目錄

-r file:測試指定檔案對當前使用者來講,是否有可讀許可權

-w file:測試指定檔案對當前使用者來講,是否有可寫許可權

-x file:測試指定檔案對當前使用者來講,是否有可執行許可權

給定乙個路徑,如果有此檔案,就顯示該檔案的行數,否則,就顯示該檔案不存在

shell算術運算和檔案測試及多分支if語句

shell中的判斷語句

單分支結構

shell算術運算和檔案測試及多分支if語句

雙分支結構

shell算術運算和檔案測試及多分支if語句

多分支結構

shell算術運算和檔案測試及多分支if語句

bash變數型別

本地變數(區域性變數)

變數作用域:當前shell程序

環境變數

變數作用域:當前shell程序及其子shell程序

位置變數

sh filetest.sh /etc/inittab /etc/fstab

$1,$2 ......

在shell指令碼裡 $1代表 /etc/inittab,$2代表/etc/fstab

特殊變數

$?:命令執行狀態的返回值(0-255)

$*:引數列表

$@:引數列表

shift : 輪換引數列表

例如:shell算術運算和檔案測試及多分支if語句

bash -x 指令碼;顯示指令碼執行過程

bash -n 指令碼;檢查指令碼語法錯誤

shell算術運算和檔案測試及多分支if語句

Shell中的算術運算

當使用let時,變數名之前不能再新增 用法 var1 2 var2 3 let result var1 var2 echo result 除此之外,我們還可以使用 let 來進行自加自減操作 let var 使用let進行自加 let var 使用let進行自減 簡寫let no 6 let no ...

shell 算術運算子

下表列出了常用的算術運算子,假定變數 a 為 10,變數 b 為 20 運算子說明舉例 加法 expr a b 結果為 30。減法 expr a b 結果為 10。乘法 expr a b 結果為 200。除法 expr b a 結果為 2。取餘 expr b a 結果為 0。賦值 a b 將把變數 ...

shell基礎和檔案

1shell就是使用者和核心進行互動操作的一種介面,2shell可以執行的命令包括linux命令,內建命令,實用程式,使用者程式,shell指令碼 3shell元字元 4.獲取命令幫助 man,info.help 5.檔案型別有普通檔案 目錄 d 符號鏈結檔案 l 字元裝置檔案 c 塊裝置檔案 b ...