作者NGCat (不良咪)
看板Linux
標題[問題] 請教一個SHELL SCRIPT的寫法
時間Thu Oct 7 10:38:30 2010
小弟的SCRIPT中,需要將參數中的值,作為變數名稱,也就是「$$1」的意思。
Shell Script當然是不可以這樣子寫。請版上先進指導,謝謝!
讓小弟將問題描述得更清楚點:
假設我的Shell Script
執行「Shellname AA」
那麼 Shell Script中 $1的值就等於AA;
執行「Shellname BB」
那麼 Shell Script中 $1的值就等於BB;
在程式中,小弟宣告了
VAR_AA="123"
VAR_BB="456"
小弟希望能夠依據傳進來的參數值,來取得 VAR_$1的值(*123或456*)。
也就是 $(VAR_$1) <=這是錯誤的語法啦..:-Q
請問該如何解決呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.176.5
→ Adama:為何不用switch case? 10/07 13:00
→ NGCat:因為參數值很多,用Switch Case又臭又長,就是想縮短SCRIPT 10/07 16:24
→ NGCat:程式短也比較好維護。 10/07 16:25
→ carrlyea:eval "NEW_VAR=\$VAR_$1"; echo $NEW_VAR 10/07 21:32
→ NGCat:感謝carrlyea的幫忙,問題終於解決了,謝謝呵=^_^= 10/08 10:33
→ carrlyea:不用客氣^_^ 10/08 17:50