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