Я впервые узнал, как кодировать на C
языке, и с помощью
if ( code )
then
code
fi
Мне очень трудно читать мой код (не спрашивайте почему). Есть ли замена then
?
Что-то вроде этого:
if ( code ) {
code
}
fi
Я впервые узнал, как кодировать на C
языке, и с помощью
if ( code )
then
code
fi
Мне очень трудно читать мой код (не спрашивайте почему). Есть ли замена then
?
Что-то вроде этого:
if ( code ) {
code
}
fi
Ответы:
Там нет замены, но вы можете использовать оба, если вам действительно нужны скобки:
if true ; then {
something
} fi
При этом в качестве тела блока используется ненужная явно заданная группа командthen
. Любые команды в фигурных скобках будут просто выполняться в текущей оболочке при then
запуске, точно так же, как если бы фигурные скобки отсутствовали.
Я бы не очень рекомендовал этот стиль в целом или для кода, который кому-то еще нужно будет прочитать, но он дает вам необходимые скобки, и он сработает, если вы используете редактор, который требует фигурные блоки или что-то подобное.
{ if { [[ a == aa ]];};then { echo yes;};else { echo no;}; fi;}
- в основном, когда вы используете bash
достаточно, стандартный синтаксис становится достаточно знакомым, так что это не является большой проблемой.
Кажется, вы ищете оболочку C ( csh
, tcsh
и т. Д.). Имейте в виду, что эксперты рекомендуют против этого для программирования .
Я не уверен, является ли та часть, которую вы считаете непривлекательной, фактом, который then
находится на следующей строке? Если это так, рассмотрите возможность использования следующего стиля:
if condition; then
stuff
fi
Я должен признать, что правописание имен операторов задом наперед как fi
для if
и esac
для case
(но не elihw
для while
!) Является своего рода странным. Но это стандартная оболочка Bourne, самый переносимый синтаксис оболочки, который вы можете использовать.
then
непривлекательным, просто мой редактор будет выделять соответствующие {}
пары, и это полезно, когда у меня возникает какая-то ошибка, потому что тогда я могу легко увидеть все свои if
утверждения и посмотреть, если что-то пошло не так ,
vi
, %
которая переходит к соответствующей скобке / скобке / скобке. Я симпатизирую. Я скучаю по vi
«s %
команды при программировании на Python.
Может быть, это проще для глаз
[ condition ] && {
# statement 1
# statment 2
# ...
}
Кроме этого, просто привыкнуть к этому. Используйте языковые идиомы.
Следующее близко к там. И странно.
: if; { code; } && {
code
}
Мне лично никогда не нравилось ...
if true; then
more;fi
... сформировать себя. Мне нравится, когда контрольные слова приводят . Мне всегда казалось странным, что преобладающая ...;then
форма появилась вообще.
if this && that
then do these things too
else i will probably get upset
fi
Это почти полностью противоположно вашему запросу, но это еще один способ сделать это. Вы также можете прикрепить любые fi
нужные перенаправления на линию по мере необходимости, и они будут применяться ко всему блоку.
if(...) {
, то есть оставляя открывающую скобку на той же строке, что и if
в C-подобных языках.
if
команды, даже если на следующей строке.
;
в этом случае вы должны использовать разделитель. Вот почему они это делают.
:
встроенной оболочки, подобной этой, просто так, чтобы строка кода могла быть побайтно ближе к синтаксису C, никоим образом не должна поощряться.
Я всегда использую:
if (code); then
code;
fi
Вероятно, не совсем то, что вы хотите, но это немного больше похоже на.