Linux shell指令碼中與if相關引數說明

2021-06-28 06:10:10 字數 2078 閱讀 5505

[ -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 如果 file1 exists and file2 does not則為真。 

[ 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.

Linux shell指令碼(編輯中)

shell是乙個程式,是使用者和linux核心溝通的橋梁 bin bash 其中 不是注釋,而是告訴作業系統將執行此指令碼所用的直譯器的名字。syntax on set hlsearch set tabstop 4 set autoindent 可以去掉冒號,新增到 vimrc中 bin bash ...

Linux shell指令碼中父子程序與變數的分析

問題 乙個 test.sh 裡面這麼寫 bin bash read test echo test exit 0 儲存,chmod x test.sh test.sh 譬如輸入 ok,指令碼就輸出 ok 然後在 shell 下 直接 echo test 卻沒有輸出 ok.這是怎麼回事?這個自定義的變數...

Linux shell指令碼的建立與執行

在進行linux測試時編寫指令碼是必不可少的。最近經常使用linux,感覺太頻繁地敲擊鍵盤有些累了,於是想到了shell指令碼。可以把太多的命令寫成乙個指令碼,這樣每次執行一遍shell檔案,就可以省去了敲擊鍵盤的時間。於是在網上搜了一些有關linux下指令碼程式設計的內容。shell不僅僅是命令的...