SH Bash  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Шаблоны имён и регулярные выражения

Средний тест по теме «Шаблоны имён и регулярные выражения». Вопросы требуют читать Bash-код, отслеживать расширения, потоки и коды завершения, находить дефекты и выбирать правку с учётом эксплуатации. В серии 25 вопросов, из них 15 содержат полноценные фрагменты кода. Базовая среда — GNU Bash 5.2; внешние GNU-утилиты оговариваются в тексте задания.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант. После завершения вы увидите общий результат, оценки по 5 тематическим шкалам и подробные объяснения.
Вопрос 1 из 25
В служебном сценарии найден следующий фрагмент по теме «Шаблоны имён glob». Не предполагая намерение автора, что можно утверждать об этой конструкции?
BashШаблоны имён glob · вариант A
tmp=$(mktemp -d)
touch "$tmp/a.log" "$tmp/b.txt"
printf '%s\n' "$tmp"/*.log
rm -rf "$tmp"
Вопрос 2 из 25
В служебном сценарии найден следующий фрагмент по теме «Расширенные шаблоны extglob». Какое утверждение точно относится к показанному фрагменту?
BashРасширенные шаблоны extglob · вариант A
shopt -s extglob
name=report.tar.gz
[[ $name == +(*).@(gz|xz) ]] && echo archive
Вопрос 3 из 25
В служебном сценарии найден следующий фрагмент по теме «Сопоставление с регулярным выражением». Какой вывод об этом варианте можно сделать без догадок о внешнем контексте?
BashСопоставление с регулярным выражением · вариант A
value='id=42'
if [[ $value =~ ^id=([0-9]+)$ ]]; then
  printf '%s\n' "${BASH_REMATCH[1]}"
fi
Вопрос 4 из 25
В служебном сценарии найден следующий фрагмент по теме «Границы совпадения». Какой разбор соответствует именно показанной последовательности команд?
BashГраницы совпадения · вариант A
v='x123y'
[[ $v =~ [0-9]+ ]] && echo partial
[[ $v =~ ^[0-9]+$ ]] || echo not-number
Вопрос 5 из 25
В служебном сценарии найден следующий фрагмент по теме «Проверка и диагностика». Какое описание не приписывает фрагменту лишних гарантий?
BashПроверка и диагностика · вариант A
set -x
printf '%q\n' ./*.log
Вопрос 6 из 25
При проверке темы «Шаблоны имён glob» в тесте «Шаблоны имён и регулярные выражения» нужно оценить именно этот вариант. Что действительно гарантирует или, наоборот, не гарантирует эта конструкция?
BashШаблоны имён glob · вариант B
for f in "$dir"/*.log; do process "$f"; done
Вопрос 7 из 25
При проверке темы «Расширенные шаблоны extglob» в тесте «Шаблоны имён и регулярные выражения» нужно оценить именно этот вариант. Фрагмент запускают как часть служебного сценария. Как его следует оценить?
BashРасширенные шаблоны extglob · вариант B
case $name in !(*.tmp)) keep;; esac
Вопрос 8 из 25
При проверке темы «Сопоставление с регулярным выражением» в тесте «Шаблоны имён и регулярные выражения» нужно оценить именно этот вариант. Какой вывод наиболее точно привязан к показанной реализации?
BashСопоставление с регулярным выражением · вариант B
regex='^id=([0-9]+)$'
[[ $value =~ "$regex" ]]
Вопрос 9 из 25
При проверке темы «Границы совпадения» в тесте «Шаблоны имён и регулярные выражения» нужно оценить именно этот вариант. Какое утверждение о поведении кода остаётся точным на граничном входе?
BashГраницы совпадения · вариант B
[[ $name == *.log ]]
Вопрос 10 из 25
При проверке темы «Проверка и диагностика» в тесте «Шаблоны имён и регулярные выражения» нужно оценить именно этот вариант. Что важно заметить в этом фрагменте до его включения в автоматизацию?
BashПроверка и диагностика · вариант B
rm -f $dir/*.tmp
Вопрос 11 из 25
В тесте «Шаблоны имён и регулярные выражения» показан фрагмент из блока «Шаблоны имён glob». Что является главным свойством этого варианта?
BashШаблоны имён glob · вариант C
shopt -s nullglob
files=("$dir"/*.log)
for f in "${files[@]}"; do process "$f"; done
Вопрос 12 из 25
В тесте «Шаблоны имён и регулярные выражения» показан фрагмент из блока «Расширенные шаблоны extglob». Как следует оценить конструкцию, не считая её автоматически исправлением?
BashРасширенные шаблоны extglob · вариант C
shopt -s extglob
case $name in
  !(*.tmp|*.bak)) keep;;
esac
Вопрос 13 из 25
В тесте «Шаблоны имён и регулярные выражения» показан фрагмент из блока «Сопоставление с регулярным выражением». Какое суждение правильно описывает показанную реализацию?
BashСопоставление с регулярным выражением · вариант C
regex='^id=([0-9]+)$'
[[ $value =~ $regex ]]
Вопрос 14 из 25
В тесте «Шаблоны имён и регулярные выражения» показан фрагмент из блока «Границы совпадения». Какой ответ учитывает и полезный эффект, и остающееся ограничение кода?
BashГраницы совпадения · вариант C
[[ $id =~ ^[[:digit:]]{1,8}$ ]]
Вопрос 15 из 25
В тесте «Шаблоны имён и регулярные выражения» показан фрагмент из блока «Проверка и диагностика». Код предлагают как альтернативу. Какова его точная техническая оценка?
BashПроверка и диагностика · вариант C
files=("$dir"/*.tmp)
((${#files[@]})) && rm -f -- "${files[@]}"
Вопрос 16 из 25
На техническом ревью обсуждают раздел «Шаблоны имён glob». Какой эксплуатационный компромисс здесь нельзя скрывать за успешным кодом возврата?
Вопрос 17 из 25
На техническом ревью обсуждают раздел «Расширенные шаблоны extglob». Что обязательно нужно проверить в соседнем сценарии, чтобы не получить ложную надёжность?
Вопрос 18 из 25
На техническом ревью обсуждают раздел «Сопоставление с регулярным выражением». На какой границе эта техника перестаёт быть достаточной сама по себе?
Вопрос 19 из 25
На техническом ревью обсуждают раздел «Границы совпадения». Где заканчивается защита, которую даёт рассматриваемая конструкция?
Вопрос 20 из 25
На техническом ревью обсуждают раздел «Проверка и диагностика». Что способно нарушить ожидаемый результат, хотя основной фрагмент написан корректно?
Вопрос 21 из 25
Для темы «Шаблоны имён glob» нужно отделить свойство механизма от удачного примера. Какая формулировка связывает частные примеры одним проверяемым правилом?
Вопрос 22 из 25
Для темы «Расширенные шаблоны extglob» нужно отделить свойство механизма от удачного примера. Что в этой теме является свойством языка, а не случайностью конкретного запуска?
Вопрос 23 из 25
Для темы «Сопоставление с регулярным выражением» нужно отделить свойство механизма от удачного примера. Какое утверждение точнее всего описывает контракт рассматриваемого механизма?
Вопрос 24 из 25
Для темы «Границы совпадения» нужно отделить свойство механизма от удачного примера. Какое правило позволяет правильно разобрать эту тему до запуска кода?
Вопрос 25 из 25
Для темы «Проверка и диагностика» нужно отделить свойство механизма от удачного примера. Какое свойство механизма нельзя подменять удачным примером запуска?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу