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
为了清楚起见,最好在此处字符串 ( <<<
) (及类似字符串)之前使用空格。
尽管在这种情况下并非绝对必要,但您应该引用变量扩展。