1
我試圖將腳本從BASH移植到ASH(Almquist SHell),並且遇到間接引用的問題。當下ASH(或DASH)運行:下面的函數ASH可變間接引用
cmd() {
# first argument is the index to print (ie label)
arg=$1
# ditch the first argument
shift
# print the label (via indirect reference)
echo "${!arg}"
}
應該產生以下輸出
cmd 1 one two three
one
cmd 2 one two three
two
cmd 3 one two three
three
這工作下bash作爲預期,但產生一個「錯誤的替換語法錯誤」。這應該工作嗎?如果沒有,是否有替代使用間接引用?
這幾乎正是我來到了剛剛發佈 回聲後 「$(EVAL回聲\ $$ ARG)」 – ctuffli 2009-06-18 20:06:56