при выполнении моей программы он показывает синтаксическую ошибку - PullRequest
0 голосов
/ 15 апреля 2011
for i in `seq  0   15 `;
do
b=$(bc -l << EOF
(2.70 + $i * 0.075)
EOF
)
a=`printf "%5.3f"  $b`

Я новичок в шелл-коде. Когда я запускаю свою программу, она показывает синтаксическую ошибку. Не могли бы вы сказать мне, какую ошибку я совершил?

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

Если это сценарий 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`
done
0 голосов
/ 15 апреля 2011

Вы можете сделать это всего за awk без необходимости seq и bc

awk 'BEGIN{
  for(i=1;i<=15;i++){
    b=2.70 + (i * 0.075)
    printf "%5.3f" , b
  }
}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...