Bash
帶索引的迴聲變數
我在循環內設置 var ,如下所示:
eval "PB_$i=`cat btc_pub_$i.key`"
其中 $i 是循環的索引。
我想做 echo 或 printf
$PB_$i ($PB_0,$PB_1, etc)
我試過了
echo $PB_${i}
但不工作
聽起來您正在尋找的是取消引用:
$ foo=bar $ bar=somewords $ printf "The value of %s is '%s'\n" "${foo}" "${!foo}" The value of bar is 'somewords' $ var_1=foo $ var_2=bar $ for i in 1 2; do v="var_${i}"; printf "%s\n" "${!v}"; done foo bar
不過,我可能建議不要使用一系列帶數字後綴的變數,而是查看一個數組:
$ var=("foo" "bar") # var[0]=foo; var[1]=bar $ for v in ${var[@]}, do printf "%s\n" "${v}"; done foo bar