我正在嘗試編寫一個shell腳本來爲我自動完成一項工作。但我目前卡住了。 這裏的問題:Shell腳本變量問題
我有一個VAR1變量命名(減少的數量從25到0 並命名 變量$ {VAR1}另一個變量,這相當於一些字符串 然後當我嘗試調用變量$。 {var1}在腳本中的任何地方通過回聲它失敗 我已經嘗試了$ [var $ var1],$ {var $ var}等等,但是每次失敗並給出var1的值或者說操作數預期錯誤 爲你的幫助
我正在嘗試編寫一個shell腳本來爲我自動完成一項工作。但我目前卡住了。 這裏的問題:Shell腳本變量問題
我有一個VAR1變量命名(減少的數量從25到0 並命名 變量$ {VAR1}另一個變量,這相當於一些字符串 然後當我嘗試調用變量$。 {var1}在腳本中的任何地方通過回聲它失敗 我已經嘗試了$ [var $ var1],$ {var $ var}等等,但是每次失敗並給出var1的值或者說操作數預期錯誤 爲你的幫助
只有一輪可變擴展,所以你不能直接做。你可以使用eval
:
eval echo \${var$var1}
一個更好的解決方案是使用一個數組:像你需要的bash變量間接
i=5
var[$i]='foo'
echo ${var[$i]}
聽起來。看看下面的鏈接。
它可能會更好,如果你使用一個數組,但你可以使用間接:
var25="some string"
var1=25
indirect_var="var$var1"
echo ${!indirect_var} # echoes "some string"