bash 변수 질문입니다.

익명 사용자의 이미지

bash초보자 입니다.

제가 직면한 상황은
$T1a $T2a $T3a 가 그냥 각각 1이라고 치고

예를 들어 for문을 통해서 1부터 3까지

$T1a $T2a $T3a 에 0.001을 더해서 $T1a_2 $T2a_2 $T3a_2 에 값을 입력하고 싶습니다.

제가 시도한 것은

for i in "1 2 3"
do

T$ia_2=echo $($T$ia + 0.001 |bc -l) 같은 방식인데 여러 방법을 해봤는데 안되더라구요 ㅜㅜ
고수분들의 도움을 부탁드립니다. 감사합니다.

세벌의 이미지

기대한 결과는 무엇인고, 실제 나타난 결과는 무엇인가요?

글쓴이의 이미지

T1a_2 T2a_2 T3a_2에 각각 1.0001이 입력되는 것입니다!
echo $T1a_2 를 했을때 1.0001이 출력되도록이요...
실제로 나타나는것은 그냥 오류가 떠서 값이 안나옵니다!

세벌의 이미지

chanik의 이미지

$ T1a=1
$ T2a=2
$ T3a=3
$ for i in 1 2 3
do
  Tn=T${i}a
  eval "T${i}a_2=$(echo ${!Tn} + 0.001 | bc -l)"
done
 
$ echo $T1a_2
1.001
$ echo $T2a_2
2.001
$ echo $T3a_2
3.001

아래의 비슷한 질문글이 참고가 될 것입니다.

https://kldp.org/node/164544