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 #對(duì)用戶輸入的參數(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ú)立的,會(huì)遍歷$#次
do
echo $i
done
echo
for i in "$*" #在"$*"中遍歷參數(shù),此時(shí)"$*"被擴(kuò)展為包含所有位置參數(shù)的單個(gè)字符串,只遍歷一次
do
echo $i
done
小技巧2:在"$@"和$@中遍歷參數(shù)沒(méi)有區(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é)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
您可能感興趣的文章:- PowerShell函數(shù)中接收管道參數(shù)實(shí)例
- 一條命令讓你明白shell中read命令的常用參數(shù)
- 對(duì)shell中常見(jiàn)參數(shù)及判斷命令介紹
- shell 使用數(shù)組作為函數(shù)參數(shù)的方法(詳解)
- Shell腳本傳遞參數(shù)的3種方法比較
- shell腳本使用兩個(gè)橫杠接收外部參數(shù)的方法