У меня есть такой скрипт:
#!/bin/bash
x=${1:-20}
for ((i=1;i<=x;i++))
{
if ((i%3==0))
{
echo 'Fizz'
}
echo $i
}
Я получаю цвет ошибки на последней фигурной скобке в VIM, и при попытке запустить скрипт я получаю «синтаксическую ошибку рядом с неожиданным токеном» для той же фигурной скобки. Без вложенного оператора if будет напечатано от 1 до 20 в новой строке для каждого числа, что является ожидаемым результатом. Если число делится на 3, вместо него должно быть напечатано Fizz. Я не так беспокоюсь о том, как реализовать замену, это должно быть легко понять, но я не понимаю, почему я не могу использовать фигурную скобку для закрытия цикла for. Если я вынимаю скобку, я получаю сообщение об ошибке, в котором говорится, что конец файла ожидается. Так какой же правильный синтаксис для завершения цикла for с вложенным оператором if? Я посмотрел онлайн и здесь в стеке, но не нашел формат, похожий на то, что я пытаюсь сделать. Мне не нравится
for f in *
Формат
, поскольку его не так легко читать для кого-то, кто работает на другом языке кодирования, и мне нравится, чтобы мой код выглядел очень похожим на разных языках (я тоже использую комментарии, но точно так же, я стараюсь держать вещи как насколько возможно, поэтому я использовал (()) с циклом for.)
Если я закомментирую оператор if и оставлю все остальное без изменений, ошибка исчезнет, и она напечатает
1
Fizz
2
Fizz
etc.
Любое понимание этого будет с благодарностью. Спасибо!