SH Bash  ·  20 вопросов  ·  ~55 мин  ·  ⏱ Таймер 55:00  ·  Лёгкий  · 

Перенаправления и стандартные потоки

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

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 20 вопросов отведено 55 минут. В каждом вопросе верен только один вариант. После завершения вы увидите общий результат, оценки по 4 тематическим шкалам и подробные объяснения.
Вопрос 1 из 20
Этот участок из темы «Стандартный ввод» относится к практической части теста «Перенаправления и стандартные потоки». Какое наблюдение выдерживает проверку по аргументам, потокам и коду завершения?
BashСтандартный ввод · вариант A
printf 'a\nb\n' > /tmp/input.$$
while IFS= read -r line; do printf '[%s]' "$line"; done < /tmp/input.$$
rm -f /tmp/input.$$
printf '\n'
Вопрос 2 из 20
Этот участок из темы «Стандартный вывод» относится к практической части теста «Перенаправления и стандартные потоки». Что в этом коде произойдёт или останется верным при указанных условиях?
BashСтандартный вывод · вариант A
printf 'old\n' > /tmp/out.$$
printf 'new\n' > /tmp/out.$$
cat /tmp/out.$$
rm -f /tmp/out.$$
Вопрос 3 из 20
Этот участок из темы «Стандартный поток ошибок» относится к практической части теста «Перенаправления и стандартные потоки». Как следует оценить этот вариант с учётом синтаксиса Bash и вызванных программ?
BashСтандартный поток ошибок · вариант A
{ printf 'data\n'; printf 'warn\n' >&2; } > /tmp/data.$$ 2> /tmp/err.$$
printf '%s:%s\n' "$(cat /tmp/data.$$)" "$(cat /tmp/err.$$)"
rm -f /tmp/data.$$ /tmp/err.$$
Вопрос 4 из 20
Этот участок из темы «Дескрипторы файлов» относится к практической части теста «Перенаправления и стандартные потоки». Код рассматривают на техническом ревью. Какой вывод подтверждается его фактическим поведением?
BashДескрипторы файлов · вариант A
tmp=$(mktemp)
exec {logfd}>"$tmp"
printf 'one\n' >&"$logfd"
printf 'fd=%s data=%s\n' "$logfd" "$(cat "$tmp")"
exec {logfd}>&-
rm -f "$tmp"
Вопрос 5 из 20
Разберите код без пробного запуска; его тема — «Стандартный ввод». Что следует записать в заключении ревью этого фрагмента?
BashСтандартный ввод · вариант B
cat file | read -r first
printf '%s\n' "$first"
Вопрос 6 из 20
Разберите код без пробного запуска; его тема — «Стандартный вывод». Какой разбор не смешивает этот вариант с другими способами решения задачи?
BashСтандартный вывод · вариант B
cat missing > report.txt
Вопрос 7 из 20
Разберите код без пробного запуска; его тема — «Стандартный поток ошибок». Какое описание согласуется с фактическими аргументами и состоянием процессов?
BashСтандартный поток ошибок · вариант B
command 2>&1 >out.log
Вопрос 8 из 20
Разберите код без пробного запуска; его тема — «Дескрипторы файлов». Какой технический вывод относится к показанному коду, а не к похожему решению?
BashДескрипторы файлов · вариант B
exec 3>log.txt
run_many_tasks
Вопрос 9 из 20
Для блока «Стандартный ввод» сравнивают несколько внешне похожих решений. Какой вывод соответствует именно этой записи, а не общему совету по теме?
BashСтандартный ввод · вариант C
IFS= read -r first < file
Вопрос 10 из 20
Для блока «Стандартный вывод» сравнивают несколько внешне похожих решений. Что можно уверенно сказать об этом решении после пошагового разбора?
BashСтандартный вывод · вариант C
tmp=$(mktemp "${report}.XXXXXX") || exit 1
generate > "$tmp" && mv -f -- "$tmp" "$report"
Вопрос 11 из 20
Для блока «Стандартный поток ошибок» сравнивают несколько внешне похожих решений. Какое утверждение относится к приведённому фрагменту без лишних допущений?
BashСтандартный поток ошибок · вариант C
command >out.log 2>&1
Вопрос 12 из 20
Для блока «Дескрипторы файлов» сравнивают несколько внешне похожих решений. Какой вывод подтверждается правилами Bash и указанной последовательностью команд?
BashДескрипторы файлов · вариант C
exec {fd}>"$log" || exit 1
run >&"$fd" 2>&1
exec {fd}>&-
Вопрос 13 из 20
Разработчики спорят о границах механизма «Стандартный ввод». Какое ограничение особенно важно учесть перед переносом решения в эксплуатацию?
Вопрос 14 из 20
Разработчики спорят о границах механизма «Стандартный вывод». Какую оговорку стоит вынести в описание эксплуатационного контракта?
Вопрос 15 из 20
Разработчики спорят о границах механизма «Стандартный поток ошибок». Какое условие остаётся за пределами гарантии выбранного механизма?
Вопрос 16 из 20
Разработчики спорят о границах механизма «Дескрипторы файлов». Какое замечание точнее всего отделяет учебный пример от промышленного решения?
Вопрос 17 из 20
Для блока «Стандартный ввод» требуется формулировка без лишних обещаний. На какую гарантию Bash следует опираться при техническом ревью этого участка?
Вопрос 18 из 20
Для блока «Стандартный вывод» требуется формулировка без лишних обещаний. На каком правиле должен строиться разбор подобных фрагментов?
Вопрос 19 из 20
Для блока «Стандартный поток ошибок» требуется формулировка без лишних обещаний. Какой общий контракт помогает предсказать результат до выполнения?
Вопрос 20 из 20
Для блока «Дескрипторы файлов» требуется формулировка без лишних обещаний. Какое правило лучше всего объясняет корректный способ решения?

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

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

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

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