Ответы по экзамену операционные системы. Для удобства
Скачать 191.51 Kb.
|
Что называется сценарием командной оболочки?Основными элементами языка sh являются обычные команды, которые пользователь может вводить в командной строке, дополненные операторами ветвления и циклов, а также другими конструкциями, позволяющими управлять вводом-выводом, принимать параметры командной строки. Последовательность этих конструкций и команд, размещенная в файле, называется сценарием (или скриптом от англ. script). По сути, сценарий – это программа, написанная на высокоуровневом интерпретируемом языке. Сценарий может хранится в любом файле в простом текстовом формате. Команды могут разделяться как символом перехода на новую строку, так и символом точки с запятой (";"). Символ "#" служит для отделения комментариев: часть строки после этого символа игнорируется. Исключением является специальный комментарий, указывающий на используемый интерпретатор. В сценарии допустимы пустые строки (они также игнорируются). Требуется ли компилировать сценарии командной оболочки ОС Unix?Сценарии компилировать не нужно. Для выполнения сценария необходимо: • сохранить текст сценария в файл под любым именем (например, "script.sh"); • разрешить выполнение сценария (например, командой chmod +x script.sh) ; • запустить команду (например, ./script.sh или sh script.sh). Какие действия необходимо выполнить для создания и запуска командного сценария?Для выполнения сценария необходимо: • сохранить текст сценария в файл под любым именем (например, "script.sh"); • разрешить выполнение сценария (например, командой chmod +x script.sh) ; • запустить команду (например, ./script.sh или sh script.sh). Чем полезна команда echo?Команда echo выводит все, что передано ей в качестве параметров. В скриптах она имеет важное предназначение: эта команда осуществляет вывод произвольных строк и значений переменных из сценария. Значение переменной может быть получено путем указания символа "$" и названия переменной:
Фигурные скобки здесь требуются для отделения имени переменной от последующих символов.
При вызове одного сценария из другого возможно использовать в вызываемом сценарии переменные из вызывающего сценария, но для этого потребуется вначале экспортировать нужные переменные:
В чем особенности использования переменных в командной оболочке ОС Unix?Командная оболочка позволяет сохранять значения в переменных. Для объявления переменной требуется лишь присвоить ей значение:
Следует обратить внимание на необходимость отсутствия пробела перед знаком равенства: это требуется для того, чтобы командная оболочка могла отличить эту конструкцию от обычной команды. Каким образом в командном сценарии возможно обрабатывать аргументы команды?Каждый параметр, переданный через командную строку, доступен в сценарии как переменная под именем, соответствующим порядковому номеру аргумента в диапазоне от 1 до 9. Например, следующий сценарий выведет значения трех своих аргументов, разделенных запятыми:
Переменная с нулевым именем содержит начальную часть командной строки, то есть имя файла вызванного сценария. Специальные переменные "#" и "*" содержат соответственно общее количество переданных аргументов и строку, содержащую значения всех аргументов:
Если передано более 9 аргументов, то потребуется использовать специальную команду shift, которая меняет соответствие аргументов и переменных таким образом, что переменная с именем 1 будет содержать второй аргумент, переменная 2 – третий аргумент, и так далее. Если требуется сдвинуть список аргументов сразу на несколько позиций, то необязательно вызывать shift несколько раз, – можно передать количество сдвигов в качестве параметра команды:
|