Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧
更新時間:2019年03月07日 08:39:56 作者:wdz306ling
今天小編就為大家分享一篇關(guān)于Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
1.當(dāng)一個腳本需要傳入的參數(shù)較多時,可以使用for循環(huán)進(jìn)行參數(shù)遍歷
示例:
#!/bin/bash number=65 #定義一個退出值 index=1 #定義一個計(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ù)都是獨(dú)立的,會遍歷$#次 do echo $i done echo for i in "$*" #在"$*"中遍歷參數(shù),此時"$*"被擴(kuò)展為包含所有位置參數(shù)的單個字符串,只遍歷一次 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)鏈接
您可能感興趣的文章:
- Shell中的循環(huán)語句for、while、until實(shí)例講解
- shell中的for循環(huán)用法詳解
- linux shell循環(huán):for、while、until用法詳解
- Shell中的for和while循環(huán)詳細(xì)總結(jié)
- Shell中的for循環(huán)總結(jié)
- 基于Shell中for循環(huán)的幾個常用寫法分享
- linux shell 中數(shù)組的定義和for循環(huán)遍歷的方法
- Linux shell 實(shí)現(xiàn)用for循環(huán)100次的方法
- shell for循環(huán)與數(shù)組應(yīng)用介紹
- shell編程中for循環(huán)語句的實(shí)現(xiàn)過程及案例
相關(guān)文章
shell腳本實(shí)現(xiàn)實(shí)時檢測文件變更
這篇文章主要介紹了shell腳本實(shí)現(xiàn)實(shí)時檢測文件變更,本文直接給出實(shí)現(xiàn)代碼和使用方法,以及svn下的實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05
Shell eval通過變量獲取環(huán)境變量的方法實(shí)現(xiàn)
這篇文章主要介紹了Shell eval通過變量獲取環(huán)境變量的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

