Чтобы продолжить использовать set -e
, но все же допустить известную ошибку, используйте это заклинание:
/bin/false || :
При этом используется оператор ||
для «потребления» ошибки, чтобы она считалась нефатальной для среды, в которой активен set -e
.
Вы уже используете 2>/dev/null
для подавления стандартной ошибки, поэтому вы уверены, что ошибка исходит из строки, которую вы здесь цитируете? Кроме того, вместо использования exec
я предлагаю в качестве более удобочитаемой альтернативы:
if ! nc -z localhost 9091 1> /dev/null 2>&1; then
port_free="yes"
fi
Поскольку код возврата nc
проверяется оператором if
, это также безопасно после set -e
.
Команды, работающие со сбалансированными круглыми скобками , также понимают сбалансированные ключевые слова в некоторых языках, включая sh. Когда курсор находится на if
, нажмите Ctrl + Alt + F , чтобы перейти к соответствующему fi
. Из fi
нажмите Ctrl + Alt + B , чтобы перейти к соответствию if
. (Мнемоника:B назад/ F вперед; Ctrl для простых вещей :символов; Alt для умеренно сложных вещей :слов; Ctrl + Alt для сложных вещей :выражений.)
Чтобы выделить круглую скобку или ключевое слово, соответствующее тому, на котором стоит курсор, включите Режим отображения скобок . В меню :«Опции» → «Выделить совпадающие скобки». Чтобы сделать это постоянным :«Опции» → «Настроить» → «Особый параметр…» и введите show-paren-mode
, включите его и используйте кнопку «Состояние», чтобы сделать его постоянным.