Bash中的動態變量名我對巴什劇本很困惑。我有以下代碼:function grep_search() {
magic_way_to_define_magic_variable_$1=`ls | tail -1`
echo $magic_variable_$1}我希望能夠創建一個變量名,其中包含命令的第一個參數,并帶有例如ls.為了說明我想要的$ ls | tail -1stack-overflow.txt
$ grep_search() open_box
stack-overflow.txt那么,我應該如何定義/聲明$magic_way_to_define_magic_variable_$1在劇本里我該怎么稱呼它呢?我試過了eval, ${...}, \$${...}但我還是很困惑。
3 回答

慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
# Requires bash 4, thoughdeclare -A magic_variable=()function grep_search() { magic_variable[$1]=$( ls | tail -1 ) echo ${magic_variable[$1]}}
bash
declare
declare "magic_variable_$1=$(ls | tail -1)"
var="magic_variable_$1"echo "${!var}"

RISEBY
TA貢獻1856條經驗 獲得超5個贊
suffix=bzz declare prefix_$suffix=mystr
varname=prefix_$suffix echo ${!varname}
添加回答
舉報
0/150
提交
取消