루프 변수를 사용한 계산 bash

루프 변수를 사용한 계산 bash
for i in {0..9} do
    T=$(bc<<<"8+$i*0.5")
    echo $T
done  

나는 얻다:

syntax error near unexpected token `T=$(bc<<<"8+$i*0.5")'

나는 질문이 있다고 생각합니다. $i내가 뭘 잘못하고 있는 걸까요?

답변1

문제는 그게 아니라 $i, 문제는 for구성 구문입니다. 개행 문자나 ;이전 문자가 필요합니다 do(선언 직후에 사용하는 경우 for).

for i in {0..9}; do
    T=$(bc <<<"8+$i*0.5")
    echo "$T"
done 

또는

for i in {0..9} 
do
    T=$(bc <<<"8+$i*0.5")
    echo "$T"
done

<<<명확성을 위해 여기에서는 string()(및 유사한 문자열) 앞에 공백을 사용하는 것이 가장 좋습니다 .

이 경우 꼭 필요한 것은 아니지만 변수 확장을 인용해야 합니다.

관련 정보