Операционные системы - статьи

         

Комадный интерпретатор


В Unix практически всегда входят два командных интерпретатора - sh (shell)

и csh (C-подобный shell). Кроме них еще бывают bash (Bourne), ksh (Korn),

и другие. Не вдаваясь в подробности, приведу общие принципы:

Все команды, кроме изменения текущей директории, установки переменных окружения

(environment) и операторов структурного программирования - внешние программы.

Программы эти как правило располагаются в каталогах /bin и /usr/bin.

Программы системного администрирования - в каталогах /sbin и /usr/sbin.

Команда состоит из имени запускаемой программы и аргументов. Аргументы

отделяются от имени команды и друг от друга пробелаим и табуляциями.

Некоторые спецсимволы интерпретируются самим shell'ом.

Спецсимволами являются " ' ` \ ! $ ^ * ? < > | & ; (еще какие?).

В одной командной строке можно дать несколько команд. Команды могут быть разделены ; (последовательное выполнение команд), & (асинхронное одновременное выполнение команд), | (синхронное выполнение, стандартный вывод stdout первой команды будет подан на стандартный ввод stdin второй).

Кроме того, можно брать стандартный ввод из файла, включив в качестве одного из аргументов "<файл" (без кавычек); можно направить стандартный вывод в файл, используя ">файл" (файл будет обнулен) или ">>файл" (запись будет произведена в конец файла). Сама программа не получит этого аргумента; чтобы узнать, что ввод или вывод переназначены, программа должна сама предпринять некоторые весьма нетривиальные телодвижения.



Содержание раздела