Упражнения (Questions)¶
Контрольные вопросы¶
-
Какой из следующих элементов обязательно должен присутствовать в начале каждого сценария оболочки? A.
#CommentB.#!/bin/bashC.exit 0D.#begin script -
Вы создали сценарий оболочки в вашем домашнем каталоге с именем
myscript. Как вы можете его выполнить? (Выберите два ответа.) A. Введите/bin/bash ~/myscriptв командной строке. B. Введитеmyscriptв командной строке. C. Выберите «Компьютер» | «Выполнить» на графическом рабочем столе, затем введите~/myscriptи нажмите «Выполнить». D. Введитеrun ~/myscriptв командной строке. E. Введитеchmod u+x ~/myscript, затем введите~/myscriptв командной строке. -
Какая команда создаст новую переменную с именем
TOTALи назначит ей тип «целое число» (integer)? A.variable –i TOTALB.declare –i TOTALC.declare TOTAL –t integerD.TOTAL=integer -
Из сценария оболочки вам нужно вывести на экран текст «Hello world». Какая команда это сделает? A.
echo "Hello world"B.read Hello worldC.writeln "Hello world"D.print "Hello world" -
Из сценария оболочки вам нужно предложить пользователям ввести их номер телефона. Введённое значение необходимо поместить в переменную
$PHONE. Какая команда это выполнит? A.read "What is your phone number?" $PHONEB.read $PHONEC.read PHONED.? "What is your phone number?" PHONE -
Какую команду можно использовать внутри конструкции if/then/else для проверки истинности указанного условия? A.
evalB.==C.testD.<> -
Какая команда в конструкции if/then/else сценария оболочки вычислит True, если переменная
num1меньше переменнойnum2? A.eval num1 < num2B.test num1 < num2C.test num1 –lt num2D.test "num1" != "num2"E.eval "num1" != "num2" -
В сценарии оболочки вам нужно предложить пользователю выбрать один из семи вариантов, выводимых командой
echo. Какая управляющая конструкция лучше всего подходит для обработки ввода пользователя и выполнения соответствующего набора команд? A. Цикл while B. Цикл for C. Цикл until D. if/then/else E. case -
Какая управляющая конструкция продолжает обработку снова и снова до тех пор, пока указанное условие не примет значение «ложь»? A. Цикл while B. Цикл for C. Цикл until D. if/then/else E. case
-
Какие управляющие конструкции считаются ветвящимися (branching structures)? (Выберите два ответа.) A. Цикл while B. Цикл for C. Цикл until D. if/then/else E. case
-
Какая управляющая конструкция продолжает обработку снова и снова до тех пор, пока указанное условие остаётся ложным? A. Цикл while B. Цикл for C. Цикл until D. if/then/else E. case
-
Какая управляющая конструкция выполняет обработку указанное количество раз? A. Цикл while B. Цикл for C. Цикл until D. if/then/else E. case
-
Рассмотрим следующее использование команды
seq:seq 3 9. Какую последовательность чисел сгенерирует эта команда? A. 3, 4, 5, 6, 7, 8, 9 B. 3, 6, 9 C. 1, 4, 7, 10, 13, 16, 19, 22, 25 D. 9, 18, 27 -
Какую команду можно использовать для вывода указанных столбцов или полей из файла на стандартный вывод, используя символ табуляции в качестве разделителя? A.
cutB.prC.fmtD.sort -
Какая команда может обработать текстовый поток и заменить все символы табуляции восемью пробелами? A.
cutB.replace –t 8C.expandD.unexpand -
Какая команда может обработать файл или текстовый поток и добавить номер в начало каждой новой строки? A.
joinB.pasteC.fmtD.nl -
Вы хотите отправить содержимое файла
logfile.txtиз текущего каталога командеsortдля сортировки строк в алфавитном порядке и отображения результата на экране. Какие команды это сделают? (Выберите два ответа.) A.sort < logfile.txtB.sort logfile.txtC.sort < logfile.txt –o "screen"D.sort < logfile.txt > screenE.sort –n logfile.txt -
Вы хотите отобразить на экране шестое, седьмое и восьмое слова в любой строке файла
/var/log/messages, содержащей слово «syslog». Какая из следующих команд это сделает? A.cat /var/log/messages | awk '/syslog/ {print $6,$7,$8}'B.cat /var/log/messages | awk '/syslog/ {print 6,7,8}'C.cat /var/log/messages | awk /syslog/ {print $6,$7,$8}D.cat /var/log/messages | awk 'syslog {print 6,7,8}' -
Ваше приложение для обработки текстов оставило сотни резервных файлов в разных местах на жёстком диске. Они больше не нужны и занимают много места. Поскольку их очень много, вы не хотите удалять их по одному. Вы попробовали использовать команду
find, чтобы передать список резервных файлов (которые все оканчиваются символом~) командеrm, но список файлов оказался слишком длинным. Что следует предпринять? A. Передать выводfindкомандеxargsчерез конвейер. B. Удалять файлы по одному с помощьюrm. C. Передать выводfindкомандеdelвместоrm. D. Передать выводfindкомандеrmdirвместоrm. -
Вам нужно найти слово «June» и заменить его словом «July» в файле
proj_sched.txtиз вашего домашнего каталога, а результат записать в новый файлnew_proj_sched.txt. Какая команда это выполнит? A.cat ~/ proj_sched.txt | sed s/June/July/B.cat ~/ proj_sched.txt | awk s/June/July/C.cat ~/ proj_sched.txt | awk s/June/July/ 1> new_proj_sched.txtD.cat ~/ proj_sched.txt | sed s/June/July/ 1> new_proj_sched.txt
Ответы¶
-
B. Элемент
#!/bin/bashобязательно должен присутствовать в начале каждого сценария оболочки bash. -
A, E. Вы можете ввести
/bin/bash ~/myscriptили выполнитьchmod u+x ~/myscript, чтобы сделать сценарий исполняемым, а затем запустить его с помощью~/myscript. -
B. Команда
declare –i TOTALсоздаст переменнуюTOTALи назначит ей тип целого числа. -
A. Команда
echo "Hello world"выведет текст «Hello world» на экран из сценария оболочки. -
C. Команда
read PHONEв сценарии оболочки поместит введённое пользователем значение в переменную$PHONE. -
C. Команда
testможет использоваться внутри конструкции if/then/else для проверки истинности указанного условия. -
C. Команда
test num1 –lt num2вычислит True внутри конструкции if/then/else, если переменнаяnum1меньше переменнойnum2. -
E. Конструкция
caseявляется наилучшим вариантом для обработки выбора пользователя из нескольких вариантов и выполнения соответствующего набора команд. -
A. Цикл while продолжает обработку снова и снова до тех пор, пока указанное условие не станет ложным.
-
D, E. Конструкции if/then/else и
caseсчитаются ветвящимися, поскольку они направляют выполнение сценария в одном из нескольких направлений в зависимости от результата вычисления условия. -
C. Управляющая конструкция «цикл until» продолжает обработку снова и снова до тех пор, пока указанное условие остаётся ложным.
-
B. Управляющая конструкция «цикл for» выполняет обработку указанное количество раз.
-
A. Команда
seq 3 9сгенерирует следующую последовательность чисел: 3, 4, 5, 6, 7, 8, 9. Первое число задаёт начало последовательности, второе — её конец. Поскольку шаг не указан, последовательность увеличивается на 1. -
A. Команда
cutможет использоваться для вывода указанных столбцов или полей из файла на стандартный вывод, используя символ табуляции в качестве разделителя. -
C. Команда
expandможет обработать текстовый поток и заменить все символы табуляции восемью пробелами. -
D. Команда
nlможет обрабатывать файл или текстовый поток и добавлять номер в начало каждой новой строки. -
A, B. Команды
sort < logfile.txtиsort logfile.txtобе отправят содержимое файлаlogfile.txtкомандеsortдля сортировки строк в алфавитном порядке и отображения результата на экране. -
A. Команда
cat /var/log/messages | awk '/syslog/ {print $6,$7,$8}'найдёт вхождения слова «syslog» в стандартном выводеcatи выведет шестое, седьмое и восьмое слова в каждой совпавшей строке. -
A. В данной ситуации команда
xargsразбивает данные на блоки по 128 КБ перед отправкой командеrm, что достаточно мало для обработки оболочкой. -
D. Команда
cat ~/ proj_sched.txt | sed s/June/July/ 1> new_proj_sched.txtвыполнит поиск слова «June» в файлеproj_sched.txtи заменит все вхождения словом «July». Вывод командыsedбудет записан в файлnew_proj_sched.txt.