#bash
#удар
Вопрос:
У меня есть следующее с amp;amp;
И. ||
Поскольку я хочу иметь строки в пределах 80 символов, как я могу разделить это на разные строки? Всегда ли нужен персонаж продолжения
?
(( cval != 1 )) amp;amp; echo "$k" || { echo "" ; printf '%sn' "${desc[@]}" ; }
Комментарии:
1. Вы можете разделить команду в любом месте, добавив обратную косую черту, а затем введя разрыв строки.
2. Кроме того, если вы вставляете разрыв строки где-то, где команда не может закончиться (например, после
amp;amp;
или||
), обратная косая черта не нужна.3. Не используйте
amp;amp;
и||
вместе, как это. Используйтеif
инструкцию.4. Хрупкость такой конструкции-это то, что привело Python, например, к внедрению
a if b else c
в качестве надежной заменыb and a or c
.5. хрупкость в каком смысле?
Ответ №1:
как я могу разделить это на разные строки?
Так что просто буквально ставьте новые строки после amp;amp;
и ||
и после {
и вместо или после ;
. Вы также можете размещать комментарии в отдельных строках, если хотите.
(( cval != 1 )) amp;amp; echo "$k" || { echo "" printf '%sn' "${desc[@]}" }
Но на самом деле amp;amp; ||
они сбивают с толку. Настоятельно рассмотрите вариант «если». И echo ""
— просто echo
.
if (( cval != 1 )); then echo "$k" else echo printf '%sn' "${desc[@]}" fi
Комментарии:
1. Не просто сбивающая с толку, но и хрупкая. Люди, использующие
a amp;amp; b || c
предположение, чтоb
это не может привести к сбою, но если это произойдет,c
будет выполнено, даже еслиa
это удастся.