Shell中判斷文件,目錄是否存在

一. 具體每個(gè)選項(xiàng)對(duì)應(yīng)的判斷內(nèi)容:

-e filename 如果 filename存在,則為真 
-d filename 如果 filename為目錄,則為真 
-f filename 如果 filename為常規(guī)文件,則為真 
-L filename 如果 filename為符號(hào)鏈接,則為真 
-r filename 如果 filename可讀,則為真 
-w filename 如果 filename可寫(xiě),則為真 
-x filename 如果 filename可執(zhí)行,則為真 
-s filename 如果文件長(zhǎng)度不為0,則為真 
-h filename 如果文件是軟鏈接,則為真

二.常用的例子:

1.判斷文件夾是否存在

#shell判斷文件夾是否存在

#如果文件夾不存在,創(chuàng)建文件夾
if [ ! -d "/myfolder" ]; then
  mkdir /myfolder
fi

2.判斷文件夾是否存在并且是否具有可執(zhí)行權(quán)限

#shell判斷文件,目錄是否存在或者具有權(quán)限
folder="/var/www/"
file="/var/www/log"

# -x 參數(shù)判斷 $folder 是否存在并且是否具有可執(zhí)行權(quán)限
if [ ! -x "$folder"]; then
  mkdir "$folder"
fi

3.判斷文件夾是否存在

# -d 參數(shù)判斷 $folder 是否存在
if [ ! -d "$folder"]; then
  mkdir "$folder"
fi

4.判斷文件是否存在

# -f 參數(shù)判斷 $file 是否存在
if [ ! -f "$file" ]; then
  touch "$file"
fi

5.判斷一個(gè)變量是否有值

# -n 判斷一個(gè)變量是否有值
if [ ! -n "$var" ]; then
  echo "$var is empty"
  exit 0
fi

6.判斷兩個(gè)變量是否相等.

# 判斷兩個(gè)變量是否相等
if [ "$var1" = "$var2" ]; then
  echo '$var1 eq $var2'
else
  echo '$var1 not eq $var2'
fi
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,319評(píng)論 0 10
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,701評(píng)論 0 5
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 7,311評(píng)論 0 17
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說(shuō)明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,941評(píng)論 0 9
  • 塑造我們經(jīng)驗(yàn)的許多認(rèn)知,相互之間并不兼容,甚至完全相反、注定沖突。 《了不起的蓋茨比》的作者菲茲杰拉德說(shuō)過(guò),(大意...
    2郎神閱讀 421評(píng)論 0 0

友情鏈接更多精彩內(nèi)容