shell系列-shell第十四講
同學(xué)們,歡迎大家來(lái)到馬哥教育官網(wǎng),今天我們學(xué)習(xí)shell系列-shell第十四講的內(nèi)容!
1、文件測(cè)試
1.1、-e
-e判斷符主要作用判斷文件或者目錄是否存在,如果存在條件為真,狀態(tài)返回值為0,不存在條件為假,狀態(tài)返回值為1,比如:
bash [root@master1 ~]#touch /tmp/haha.txt [root@master1 ~]#[ -e /tmp/haha.txt ] && echo "yes,存在" || echo "no,不存在" yes,存在 [root@master1 ~]#[ -e /tmp ] && echo "yes,存在" || echo "no,不存在" yes,存在 [root@master1 ~]#[ -e /tmppp ] && echo "yes,存在" || echo "no,不存在" no,不存在
-e不僅可以判斷文件存在性,還可以判斷目錄/tmp存在性,所以-e判斷符還是很有幫助的。
1.2、-f
-f判斷符主要作用判斷文件存在且為普通文件,條件為真,比如:
bash ~]#[ -f /tmp/haha.txt ] && echo "yes,文件存在且為普通文件" || echo "no,文件不存在或者不是普通文件" yes,文件存在且為普通文件 ~]#[ -f /tmp ] && echo "yes,文件存在且為普通文件" || echo "no,文件不存在或者不是普通文件" no,文件不存在或者不是普通文件
/tmp是一個(gè)目錄,所以這里測(cè)試肯定是不存在的。
1.3、-d
-d判斷符主要作用判斷目錄存在且為普通文件,條件為真,比如:
bash [root@master1 ~]#[ -d /tmp ] && echo "yes,目錄存在且為目錄" || echo "no,目錄不存在或者不是目錄" yes,目錄存在且為目錄 [root@master1 ~]#[ -d /tmpp ] && echo "yes,目錄存在且為目錄" || echo "no,目錄不存在或者不是目錄" no,目錄不存在或者不是目錄
-d判斷符在shell腳本中多用來(lái)判斷目錄是否存在,還是很常用的。
1.4、-r
-r判斷符用來(lái)判斷文件或者目錄是否存在且為可讀,比如:
bash [root@master1 ~]#[ -r /tmp/haha.txt ] && echo "yes,文件或目錄存在且為可讀" || echo "no,目錄或者文件不存在或者不可讀" yes,文件或目錄存在且為可讀
1.5、-w
-w判斷符用來(lái)判斷文件或目錄是否存在且為可寫(xiě),比如:
bash [jodan@master1 ~]$ll /tmp/haha.txt ----------. 1 root root 0 Mar 29 15:08 /tmp/haha.txt [jodan@master1 ~]$[ -w /tmp/haha.txt ] && echo "yes,文件或目錄存在且為可寫(xiě)" || echo "no,目錄或者文件不存在或者不可寫(xiě)" no,目錄或者文件不存在或者不可寫(xiě)
1.5、-x
-x判斷文件或目錄是否存在且有可執(zhí)行權(quán)限,比如:
bash [jodan@master1 ~]$ll /tmp/haha.txt ----------. 1 root root 0 Mar 29 15:08 /tmp/haha.txt [jodan@master1 ~]$[ -x /tmp/haha.txt ] && echo "yes,文件或目錄存在且有執(zhí)行權(quán)限" || echo "no,目錄或者文件不存在或者沒(méi)有執(zhí)行權(quán)限" no,目錄或者文件不存在或者沒(méi)有執(zhí)行權(quán)限
1.6、-s
-s判斷文件是否存在且大小大于0,比如:
bash [jodan@master1 ~]$[ -s /tmp/haha.txt ] && echo "yes,文件存在且大小不為0" || echo "no,文件不存在或者大小為0" no,文件不存在或者大小為0 [jodan@master1 ~]$echo "1111" > /tmp/haha.txt [jodan@master1 ~]$[ -s /tmp/haha.txt ] && echo "yes,文件存在且大小不為0" || echo "no,文件不存在或者大小為0" yes,文件存在且大小不為0
-s是用來(lái)判斷文件大小的,只有文件大小不為0,才為真。我們剛開(kāi)始創(chuàng)建的/tmp/haha.txt只是一個(gè)空文件而已。
聲明:文章來(lái)源于網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系刪除!