linux shell程式設計之 if語句

2021-07-24 14:48:30 字數 2406 閱讀 2579

一、語句格式

一行中的寫法:if test-commands; then consequent-commands; fi

多行的寫法:

if  條件

then

command

else

command

fi 基本語法記住亮點:

1、按照漢語的方式記憶:如果(if)***那麼(then)就***,否則(else)就***

2、記住要使用fi作為結束

記住上述兩點,基本上就可以掌握if的基本語法了。

二、表示式

primary意義

[ -a file ]如果 file 存在則為真。

[ -b file ]如果 file 存在且是乙個塊特殊檔案則為真。

[ -c file ]如果 file 存在且是乙個字特殊檔案則為真。

[ -d file ]如果 file 存在且是乙個目錄則為真。

[ -e file ]如果 file 存在則為真。

[ -f file ]如果 file 存在且是乙個普通檔案則為真。

[ -g file ]如果 file 存在且已經設定了sgid則為真。

[ -h file ]如果 file 存在且是乙個符號連線則為真。

[ -k file ]如果 file 存在且已經設定了粘制位則為真。

[ -p file ]如果 file 存在且是乙個名字管道(f如果o)則為真。

[ -r file ]如果 file 存在且是可讀的則為真。

[ -s file ]如果 file 存在且大小不為0則為真。

[ -t fd ]如果檔案描述符 fd 開啟且指向乙個終端則為真。

[ -u file ]如果 file 存在且設定了suid (set user id)則為真。

[ -w file ]如果 file 如果 file 存在且是可寫的則為真。

[ -x file ]如果 file 存在且是可執行的則為真。

[ -o file ]如果 file 存在且屬有效使用者id則為真。

[ -g file ]如果 file 存在且屬有效使用者組則為真。

[ -l file ]如果 file 存在且是乙個符號連線則為真。

[ -n file ]如果 file 存在 and has been mod如果ied since it was last read則為真。

[ -s file ]如果 file 存在且是乙個套接字則為真。

[ file1 -nt file2 ]如果 file1 has been changed more recently than file2, or 如果 file1file2 does not則為真。 exists and

[ file1 -ot file2 ]如果 file1 比 file2 要老, 或者 file2 存在且 file1 不存在則為真。

[ file1 -ef file2 ]如果 file1 和 file2 指向相同的裝置和節點號則為真。

[ -o optionname ]如果 shell選項 「optionname」 開啟則為真。

[ -z string ]「string」 的長度為零則為真。

[ -n string ] or [ string ]「string」 的長度為非零 non-zero則為真。

[ string1 == string2 ]如果2個字串相同。 「=」 may be used instead of 「==」 for strict posix compliance則為真。

[ string1 != string2 ]如果字串不相等則為真。

[ string1 < string2 ]如果 「string1」 sorts before 「string2」 lexicographically in the current locale則為真。

[ string1 > string2 ]如果 「string1」 sorts after 「string2」 lexicographically in the current locale則為真。

[ arg1 op arg2 ]「op」 is one of -eq, -ne, -lt, -le, -gt or -ge. these arithmetic binary operators return true if 「arg1」 is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to 「arg2」, respectively. 「arg1」 and 「arg2」 are integers.

表示式可以藉以下操作符組合起來,以降序列出:listed in decreasing order of precedence:

表示式中如果使用 -a 那麼就是and -o就是or

Linux shell程式設計之awk sed用法詳解

awk的用法 1.awk的使用 呼叫方式 1.命令列方式 2.將所有awk命令插入乙個檔案,並使awk程式可執行,然後使awk命令直譯器作為指令碼的首行,以便通過鍵入指令碼名稱來呼叫它。3.將所有的awk命令插入乙個單獨檔案,然後呼叫。選項說明 f 域符號 預設為空格 f 指明awk指令碼 2.模式...

LINUX SHELL程式設計之遠端拷貝

使用expect,進行遠端拷貝 1.首先確認你的系統安裝有expect which expect 如果顯示如下,說明已經安裝完expect,如果沒有執行2 usr bin expect 2.yum install expect 3.遠端拷貝 usr bin expect f set password...

Linux shell程式設計之bash變數

bash變數 命名規則 必須以字母下劃線開頭,只能由字母下劃線數字組成。長度不能超過255個字元 變數名在有效的範圍內必須唯一 在bash中,變數的預設型別都是字串 一 使用者自定義變數 使用者自定義的變數。區域性變數,只在當前shell有效。格式 變數名 變數值 例如 x 5 等號兩邊不能有空格 ...