Linux Shell在目錄下使用for循環(huán)結(jié)合if查找文件的巧用
更新時間:2019年03月07日 14:33:34 作者:wdz306ling
今天小編就為大家分享一篇關(guān)于Linux Shell在目錄下使用for循環(huán)結(jié)合if查找文件的巧用,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
1.for循環(huán)對目錄做遍歷,if判斷文件是否為要查找的文件。
示例1:
#!/bin/bash if [ $# -lt 1 ];then echo "Usage:$0 + filepath" exit fi #判斷用戶是否輸入了參數(shù) match=$1 #將要查的文件賦值給變量match found=0 #定義一個初始變量作為發(fā)生條件,當(dāng)文件找到時對此變量重新賦值 for file in /etc/* #對目錄進行遍歷 do if [ $file == $match ];then #判斷文件是否匹配 echo "the file $match was found!" found=1 #當(dāng)文件匹配時,對初始變量重新賦值 break #文件找到后跳出循環(huán) fi done [ $found -ne 1 ] && echo "the file $match is not in /etc directory." #做最終的判斷,文件未找到時found仍然是0,判斷條件成立,輸出文件未找到;當(dāng)文件找到時,found被賦值為1,條件不成立,不做輸出。
示例2:對腳本做修改,讓用戶自定義要查找的文件以及在那個目錄下查找
#!/bin/bash if [ $# -lt 2 ];then echo "Usage:$0 + filepath + directorypath" exit fi match=$1 found=0 for file in ${2}* #在位置參數(shù)2,用戶給定的目錄中(一層目錄)遍歷所有文件 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é)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Shell腳本實現(xiàn)監(jiān)控iptables運行狀態(tài)
這篇文章主要介紹了Shell腳本實現(xiàn)監(jiān)控iptables運行狀態(tài),本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2014-12-12centos中mysql備份數(shù)據(jù)庫腳本分享
這篇文章主要介紹了centos中mysql備份數(shù)據(jù)庫腳本,可以做成mysql自動備份工具,管理網(wǎng)站一定會用的到,需要的朋友可以參考下2014-03-03scp 將數(shù)據(jù)從一臺linux服務(wù)器復(fù)制到另一臺linux服務(wù)器
這篇文章主要介紹了scp 將數(shù)據(jù)從一臺linux服務(wù)器復(fù)制到另一臺linux服務(wù)器,需要的朋友可以參考下2017-09-09Shell腳本編寫Nagios插件監(jiān)控程序資源占用
這篇文章主要介紹了Shell腳本編寫Nagios插件監(jiān)控程序資源占用,本文先是給出了需求和需求分析,然后給出實現(xiàn)代碼,需要的朋友可以參考下2014-12-12