Bash 在执行我的程序时,它显示语法错误 用于'seq 0 15'中的i; 做 b=$(bc-l

Bash 在执行我的程序时,它显示语法错误 用于'seq 0 15'中的i; 做 b=$(bc-l,bash,shell,Bash,Shell,如果这是一个bash脚本(看起来是这样),那么就缺少一个done来关闭for循环: for i in `seq 0 15 `; do b=$(bc -l << EOF (2.70 + $i * 0.075) EOF ) a=`printf "%5.3f" $b` 用于'seq 0 15'中的i; 做 b=$(bc-l您只需使用awk就可以做到这一点,而不需要seq和bc for i in `seq 0 15 `; do b=$(bc -l << EOF

如果这是一个
bash
脚本(看起来是这样),那么就缺少一个
done
来关闭
for
循环:

for i in `seq  0   15 `;
do
b=$(bc -l << EOF
(2.70 + $i * 0.075)
EOF
)
a=`printf "%5.3f"  $b`
用于'seq 0 15'中的i;
做

b=$(bc-l您只需使用
awk
就可以做到这一点,而不需要
seq
bc

for i in `seq  0   15 `;
do
  b=$(bc -l << EOF
  (2.70 + $i * 0.075)
EOF
  )
  a=`printf "%5.3f"  $b`
done
awk'开始{

for(i=1;如果您说明系统给您的错误,它可能会有所帮助。作为一个shell脚本,您省略了“
done
”,它标志着
for;do…;done
循环的结束。这里的否决票的实际原因是什么?@Rafe:我认为这(至少有一点)有意义。我将更改答案。
awk 'BEGIN{
  for(i=1;i<=15;i++){
    b=2.70 + (i * 0.075)
    printf "%5.3f" , b
  }
}'