Linux Shell在目錄下使用for循環(huán)結(jié)合if查找文件的巧用
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,條件不成立,不做輸出。


示例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."


總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
Shell腳本實(shí)現(xiàn)監(jiān)控iptables運(yùn)行狀態(tài)
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)監(jiān)控iptables運(yùn)行狀態(tài),本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12
centos中mysql備份數(shù)據(jù)庫(kù)腳本分享
這篇文章主要介紹了centos中mysql備份數(shù)據(jù)庫(kù)腳本,可以做成mysql自動(dòng)備份工具,管理網(wǎng)站一定會(huì)用的到,需要的朋友可以參考下2014-03-03
scp 將數(shù)據(jù)從一臺(tái)linux服務(wù)器復(fù)制到另一臺(tái)linux服務(wù)器
這篇文章主要介紹了scp 將數(shù)據(jù)從一臺(tái)linux服務(wù)器復(fù)制到另一臺(tái)linux服務(wù)器,需要的朋友可以參考下2017-09-09
Shell腳本實(shí)現(xiàn)的猜數(shù)字小游戲
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)的猜數(shù)字小游戲,本文的猜數(shù)字規(guī)則相對(duì)一般規(guī)則的猜數(shù)字可能難度要大不少,需要的朋友可以參考下2014-12-12
Shell腳本編寫(xiě)Nagios插件監(jiān)控程序資源占用
這篇文章主要介紹了Shell腳本編寫(xiě)Nagios插件監(jiān)控程序資源占用,本文先是給出了需求和需求分析,然后給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12

