第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查shell腳本中是否存在帶通配符的文件

檢查shell腳本中是否存在帶通配符的文件

檢查shell腳本中是否存在帶通配符的文件我正在嘗試檢查文件是否存在,但是使用通配符。這是我的例子:if [ -f "xorg-x11-fonts*" ]; then     printf "BLAH"fi我也嘗試過沒有雙引號。
查看完整描述

3 回答

?
千萬里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個贊

如果您的shell具有nullglob選項(xiàng)并且已打開,則將完全從命令行中刪除不匹配任何文件的通配符模式。這將使ls看不到路徑名參數(shù),列出當(dāng)前目錄的內(nèi)容并成功,這是錯誤的。GNU stat,如果沒有參數(shù)或命名不存在的文件的參數(shù),總是會失敗,會更強(qiáng)大。此外,&>重定向運(yùn)算符是一種基礎(chǔ)。

if stat --printf='' /path/to/your/files* 2>/dev/nullthen
    echo foundelse
    echo not foundfi

更好的是GNU find,它可以在內(nèi)部處理通配符搜索并在它找到一個匹配文件時立即退出,而不是浪費(fèi)時間處理由shell擴(kuò)展的潛在巨大的列表; 這也避免了shell可能溢出其命令行緩沖區(qū)的風(fēng)險。

if test -n "$(find /dir/to/search -maxdepth 1 -name 'files*' -print -quit)"then
    echo foundelse
    echo not foundfi

非GNU版本的發(fā)現(xiàn)可能沒有-maxdepth這里用來做選擇查找搜索只/ /目錄為/搜索,而不是扎根在那里的整個目錄樹。


查看完整回答
反對 回復(fù) 2019-08-06
  • 3 回答
  • 0 關(guān)注
  • 4356 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號