溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Linux Shell在目錄下如何使用for循環(huán)結(jié)合if查找文件

發(fā)布時(shí)間:2021-06-11 11:57:09 來(lái)源:億速云 閱讀:582 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹Linux Shell在目錄下如何使用for循環(huán)結(jié)合if查找文件,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1.for循環(huán)對(duì)目錄做遍歷,if判斷文件是否為要查找的文件。

示例1:

#!/bin/bash
if [ $# -lt 1 ];then
 echo "Usage:$0 + filepath"
 exit
fi          #判斷用戶(hù)是否輸入了參數(shù)
match=$1  #將要查的文件賦值給變量match
found=0    #定義一個(gè)初始變量作為發(fā)生條件,當(dāng)文件找到時(shí)對(duì)此變量重新賦值
for file in /etc/*  #對(duì)目錄進(jìn)行遍歷
do
 if [ $file == $match ];then   #判斷文件是否匹配
   echo "the file $match was found!"
   found=1               #當(dāng)文件匹配時(shí),對(duì)初始變量重新賦值
   break                  #文件找到后跳出循環(huán)
 fi
done
[ $found -ne 1 ] && echo "the file $match is not in /etc directory."   #做最終的判斷,文件未找到時(shí)found仍然是0,判斷條件成立,輸出文件未找到;當(dāng)文件找到時(shí),found被賦值為1,條件不成立,不做輸出。

Linux Shell在目錄下如何使用for循環(huán)結(jié)合if查找文件

Linux Shell在目錄下如何使用for循環(huán)結(jié)合if查找文件

示例2:對(duì)腳本做修改,讓用戶(hù)自定義要查找的文件以及在那個(gè)目錄下查找

#!/bin/bash
if [ $# -lt 2 ];then
 echo "Usage:$0 + filepath + directorypath"
 exit
fi
match=$1
found=0
for file in ${2}*    #在位置參數(shù)2,用戶(hù)給定的目錄中(一層目錄)遍歷所有文件
do
 if [ $file == $match ];then
   echo "the file $match was found!"
   found=1
   break
 fi
done
[ $found -ne 1 ] && echo "the file $match is not in /etc directory."

Linux Shell在目錄下如何使用for循環(huán)結(jié)合if查找文件

Linux Shell在目錄下如何使用for循環(huán)結(jié)合if查找文件

以上是“Linux Shell在目錄下如何使用for循環(huán)結(jié)合if查找文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI