問題如下:
根據腳本參數的個數$#進行一個循環,在依次輸出每個參數$1 $2 $3......
我有一個循環變量i
$i 取到這時的i為1,我想使用這個1再去調用$1,也是就是打印出第一個參數
就是$($i)的意思來取到第幾個參數,當然$($i)是不好用的
當時糾結了好久,最后上百度提問,兩位高手給出了答案:
1)
#!/bin/shNUMBER=$#echo $NUMBERi=1while [ $i -le $NUMBER ]
doa[$i]=$1 #將數組a[i]賦值為$1,即取得到第一個參數并將值存入a[1]echo ${a[$i]}((i++)) #數組后移一位,變為a[2]shift #使用shift命令將參數后移一位,即此時的$1為第二個參數done
數據都存在了數組 a[key] 里了
${a[key]} key 是 第幾位 例如:a[1] 值為 $1 2)
#!/bin/basha=($@) #由$@取到所有參數,并將參數存入afor i in ${a[@]};do #使用i在各個參數中循環echo $idone
?
?
?
來自:http://blog.sina.com.cn/s/blog_8043547601017622.html