a=2
pt2=3
echo $a
2
echo $pt2
3
어떻게 사용하나요?
echo $pt($a)
pt2
내용을 인쇄하시겠습니까 ?
또 다른 옵션은
b=pt$a
echo $b
pt2
echo $[$b]
3
답변1
a=2
pt2=3
eval "echo \"\${pt$a}\""
3
또는:
b=pt$a
eval "echo \"\${$b}\""
3
다른 방법도 있습니다:
a=2
pt2=3
export "pt$a=$((pt$a + $(echo pt$a)))"
echo $((pt$a))
6
export
eval
나중에 덜 위험한 방식으로 이 방식으로 작업할 수 있지만 필요한 경우 나중에 내보내지 않을 수 있습니다. 그리고 $((
arithmetic = 할당은 ))
현재 쉘의 현재 명령에 영향을 미치므로 값이 숫자인 경우 직접 변수 할당이 여전히 더 안전합니다.
변수 할당을 두 번 평가하는 데 사용되는 쉘의 .dot
및 도 있습니다 .<<HEREDOCS
var1=var2 ; . <<HEREDOC /dev/stdin
$var1=val
HEREDOC
echo $var2
val