1.當(dāng)一個(gè)腳本需要傳入的參數(shù)較多時(shí),可以使用for循環(huán)進(jìn)行參數(shù)遍歷
示例:
#!/bin/bash number=65 #定義一個(gè)退出值 index=1 #定義一個(gè)計(jì)數(shù)器 if [ -z "$1" ];then #對用戶輸入的參數(shù)做判斷,如果未輸入?yún)?shù)則返回腳本的用法并退出,退出值65 echo "Usage:$0 + canshu" exit $number fi echo "listing args with \$*:" #在屏幕輸入,在$*中遍歷參數(shù) for arg in $* do echo "arg: $index = $arg" let index+=1 done echo index=1 #將計(jì)數(shù)器重新設(shè)置為1 echo "listing args with \"\$@\":" #在"$@"中遍歷參數(shù) for arg in "$@" do echo "arg: $index = $arg" let index+=1 done
小技巧1:在"$*"和$*中遍歷參數(shù)的區(qū)別
示例:
#!/bin/bash number=11 if [ $# -eq 0 ];then echo "Usage: $0 + canshu" exit $number fi for i in $* #在$*中遍歷參數(shù),此時(shí)每個(gè)參數(shù)都是獨(dú)立的,會遍歷$#次 do echo $i done echo for i in "$*" #在"$*"中遍歷參數(shù),此時(shí)"$*"被擴(kuò)展為包含所有位置參數(shù)的單個(gè)字符串,只遍歷一次 do echo $i done
小技巧2:在"$@"和$@中遍歷參數(shù)沒有區(qū)別
示例:
#!/bin/bash number=11 if [ $# -eq 0 ];then echo "Usage: $0 + canshu" exit $number fi for i in $@ do echo $i done echo for i in "$@" do echo $i done
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
標(biāo)簽:安康 日喀則 西寧 蚌埠 麗江 迪慶 紹興 武威
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧》,本文關(guān)鍵詞 Shell,腳本,用,for,循環(huán),遍歷,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。