인덱스 에코 변수

인덱스 에코 변수

루프 내부에 var를 다음과 같이 설정했습니다.

eval "PB_$i=`cat btc_pub_$i.key`"

여기서 $i는 루프의 인덱스입니다.

echo나 printf를 하고 싶어요

$PB_$i ($PB_0,$PB_1, etc)

나는 전에 시도했다

echo $PB_${i} 

하지만 작동하지 않습니다

답변1

당신이 찾고있는 것이 역 참조 인 것 같습니다.

$ 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

관련 정보