#!/bin/bash
number=65 #定義一個退出值
index=1 #定義一個計數器
if [ -z "$1" ];then #對用戶輸入的參數做判斷,如果未輸入參數則返回腳本的用法并退出,退出值65
echo "Usage:$0 + canshu"
exit $number
fi
echo "listing args with \$*:" #在屏幕輸入,在$*中遍歷參數
for arg in $*
do
echo "arg: $index = $arg"
let index+=1
done
echo
index=1 #將計數器重新設置為1
echo "listing args with \"\$@\":" #在"$@"中遍歷參數
for arg in "$@"
do
echo "arg: $index = $arg"
let index+=1
done
小技巧1:在"$*"和$*中遍歷參數的區別
示例:
#!/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
小技巧2:在"$@"和$@中遍歷參數沒有區別
示例:
#!/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