9
#!/bin/bash
COUNTER=$#
until [ $COUNTER -eq 0 ]; do
args[$COUNTER]=\$$COUNTER
let COUNTER-=1
done
echo ${args[@]}
當我運行它,我得到下面的結果從數量的參數創建循環數組
[email protected]:~/sandbox# ./script.sh first second third
$1 $2 $3
,我很期待它呼應了什麼$ 1,$ 2,$ 3不是的「$ 1」
文本值我試圖寫在bash腳本,將創建一個數組,它是論點我給它數的大小。
我期待
[email protected]:~/sandbox# ./script.sh alpha bravo charlie
alpha bravo charlie
或
[email protected]:~/sandbox# ./script.sh 23425 jasson orange green verb noun coffee
23425 jasson orange green verb noun coffee
所以,我們的目標是使
args[0]=$1
args[1]=$2
args[2]=$3
args[3]=$4
,我有它的$1,$2,$3
沒有被插入的方式,但只是作爲文本字符串閱讀。
是的,這也正是它。感謝您的及時回覆。我仍然對腳本有點小白。像往常一樣+1 – spezticle 2013-03-14 22:03:15
+1。僅供參考,對我來說''我''可以是一個顯着的優化,因爲我在大多數shell中都是「$ @」'(幾乎不值一提,但我認爲我以前見過你這樣寫過)。 – ormaaj 2013-03-14 22:37:18