Я впервые узнал, как кодировать на C
языке, и с помощью
if ( code )
then
code
fi
Мне очень трудно читать мой код (не спрашивайте почему). Есть ли замена then
?
Что-то вроде этого:
if ( code ) {
code
}
fi
shell-script
智障 的 人
источник
источник
Ответы:
Там нет замены, но вы можете использовать оба, если вам действительно нужны скобки:
При этом в качестве тела блока используется ненужная явно заданная группа команд
then
. Любые команды в фигурных скобках будут просто выполняться в текущей оболочке приthen
запуске, точно так же, как если бы фигурные скобки отсутствовали.Я бы не очень рекомендовал этот стиль в целом или для кода, который кому-то еще нужно будет прочитать, но он дает вам необходимые скобки, и он сработает, если вы используете редактор, который требует фигурные блоки или что-то подобное.
источник
{ if { [[ a == aa ]];};then { echo yes;};else { echo no;}; fi;}
- в основном, когда вы используетеbash
достаточно, стандартный синтаксис становится достаточно знакомым, так что это не является большой проблемой.Кажется, вы ищете оболочку C (
csh
,tcsh
и т. Д.). Имейте в виду, что эксперты рекомендуют против этого для программирования .Я не уверен, является ли та часть, которую вы считаете непривлекательной, фактом, который
then
находится на следующей строке? Если это так, рассмотрите возможность использования следующего стиля:Я должен признать, что правописание имен операторов задом наперед как
fi
дляif
иesac
дляcase
(но неelihw
дляwhile
!) Является своего рода странным. Но это стандартная оболочка Bourne, самый переносимый синтаксис оболочки, который вы можете использовать.источник
then
непривлекательным, просто мой редактор будет выделять соответствующие{}
пары, и это полезно, когда у меня возникает какая-то ошибка, потому что тогда я могу легко увидеть все своиif
утверждения и посмотреть, если что-то пошло не так ,vi
,%
которая переходит к соответствующей скобке / скобке / скобке. Я симпатизирую. Я скучаю поvi
«s%
команды при программировании на Python.Может быть, это проще для глаз
Кроме этого, просто привыкнуть к этому. Используйте языковые идиомы.
источник
Следующее близко к там. И странно.
Мне лично никогда не нравилось ...
... сформировать себя. Мне нравится, когда контрольные слова приводят . Мне всегда казалось странным, что преобладающая
...;then
форма появилась вообще.Это почти полностью противоположно вашему запросу, но это еще один способ сделать это. Вы также можете прикрепить любые
fi
нужные перенаправления на линию по мере необходимости, и они будут применяться ко всему блоку.источник
if(...) {
, то есть оставляя открывающую скобку на той же строке, что иif
в C-подобных языках.if
команды, даже если на следующей строке.;
в этом случае вы должны использовать разделитель. Вот почему они это делают.:
встроенной оболочки, подобной этой, просто так, чтобы строка кода могла быть побайтно ближе к синтаксису C, никоим образом не должна поощряться.Вот способ:
эквивалентно:
источник
{...}
вокругecho "found"
, и тогда вы будете двигаться в правильном направлении.Я всегда использую:
Вероятно, не совсем то, что вы хотите, но это немного больше похоже на.
источник