shell (7)if 表達式

文件表達式
if [ -f file ] 若是文件存在
if [ -d … ] 若是目錄存在
if [ -s file ] 若是文件存在且非空
if [ -r file ] 若是文件存在且可讀
if [ -w file ] 若是文件存在且可寫
if [ -x file ] 若是文件存在且可執行shell

整數變量表達式
if [ int1 -eq int2 ] 若是int1等於int2
if [ int1 -ne int2 ] 若是不等於
if [ int1 -ge int2 ] 若是>=
if [ int1 -gt int2 ] 若是>
if [ int1 -le int2 ] 若是<=
if [ int1 -lt int2 ] 若是<字符串

字符串變量表達式
If [ $a = $b ] 若是string1等於string2
字符串容許使用賦值號作等號
if [ $string1 != $string2 ] 若是string1不等於string2
if [ -n $string ] 若是string 非空(非0),返回0(true)
if [ -z $string ] 若是string 爲空
if [ $sting ] 若是string 非空,返回0 (和-n相似)string

s​h​e​l​l​中​條​件​判​斷​i​f​中​的​-​z​到​-​d​的​意​思
[ -a FILE ] 若是 FILE 存在則爲真。
[ -b FILE ] 若是 FILE 存在且是一個塊特殊文件則爲真。it

[ -c FILE ] 若是 FILE 存在且是一個字特殊文件則爲真。ast

[ -d FILE ] 若是 FILE 存在且是一個目錄則爲真。變量

[ -e FILE ] 若是 FILE 存在則爲真。
[ -f FILE ] 若是 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」 的長度爲零則爲真。

相關文章
相關標籤/搜索