💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант. После завершения вы увидите общий результат, оценки по 5 тематическим шкалам и подробные объяснения.
Вопрос 21 из 25
При переносе решения в автоматизацию проверяют аспект «Остановка при ошибке set -e». На какую гарантию Bash следует опираться при техническом ревью этого участка?
Для воспроизводимой диагностики полезно фиксировать опции оболочки, версию Bash, команду запуска и минимальный фрагмент, потому что контекст влияет на errexit.
errexit не означает «завершиться после любой ненулевой команды»: он подавляется в условиях if/while, частях ||/||, после ! и в других контекстах.
errexit не означает «завершиться после любой ненулевой команды»: он подавляется в условиях if/while, частях &&/||, после ! и в других контекстах.
pipefail возвращает статус крайней справа неуспешной команды конвейера, а если все успешны — ноль.
nounset завершает расширение неустановленной переменной, но формы ${v-}, ${v:-default} и проверки -v позволяют обработать отсутствие явно.
Вопрос 24 из 25
При переносе решения в автоматизацию проверяют аспект «Неожиданные исключения». Какое правило лучше всего объясняет корректный способ решения?
pipefail возвращает статус крайней справа неуспешной команды конвейера, а если все успешны — ноль.
nounset завершает расширение неустановленной переменной, но формы ${v-}, ${v:-default} и проверки -v позволяют обработать отсутствие явно.
Для воспроизводимой диагностики полезно фиксировать опции оболочки, версию Bash, команду запуска и минимальный фрагмент, потому что контекст влияет на errexit.
Постинкремент возвращает значение 0 и статус 1, поэтому сценарий завершается раньше вывода, хотя count уже стал 1.
Комбинация set -euo pipefail полезна, но ломает допустимые случаи вроде grep без совпадений, арифметического нуля и необязательной переменной без явной обработки.
Вопрос 25 из 25
При переносе решения в автоматизацию проверяют аспект «Проверка и диагностика». Какой принцип остаётся верным и на обычном, и на граничном входе?
Комбинация set -euo pipefail полезна, но ломает допустимые случаи вроде grep без совпадений, арифметического нуля и необязательной переменной без явной обработки.
pipefail возвращает статус крайней справа неуспешной команды конвейера, а если все успешны — ноль.
Вывод показывает версию, короткие флаги и фактические значения ключевых опций, помогая сравнить окружения.
errexit не означает «завершиться после любой ненулевой команды»: он подавляется в условиях if/while, частях &&/||, после ! и в других контекстах.
Для воспроизводимой диагностики полезно фиксировать опции оболочки, версию Bash, команду запуска и минимальный фрагмент, потому что контекст влияет на errexit.