[ Страница назад | Страница вперед | Содержание | Индекс | Домой | Юридическая информация | Поиск ]

Руководство пользователя: Операционная система и устройства


Подстановка псевдонимов в оболочке C

Псевдоним - это имя, присвоенное команде или командной строке. Оболочка C позволяет создавать псевдонимы и применять их в качестве команд. Для этого оболочка создает список определенных вами псевдонимов.

После того, как оболочка прочитает командную строку, она делит ее на слова и проверяет первое слово каждой команды, слева направо, для поиска псевдонимов. При обнаружении псевдонима оболочка применяет механизм хронологии для замены текста псевдонима текстом соответствующей команды. При этом заменяется как команда, так и список ее аргументов. Если в списке хронологии нет соответствующих ссылок, список аргументов остается неизменным.

Информация о механизме хронологии оболочки C приведена в разделе Подстановка хронологии в оболочке C.

Список псевдонимов создается, просматривается и изменяется встроенными командами alias и unalias. Команда alias имеет следующий формат:

alias [Имя [Список_слов]] 

В необязательной переменной Имя указывается имя, для которого создается псевдоним. Если в переменной Список_слов указан список слов, команда делает их псевдонимами Имени. Команда alias без переменных показывает все псевдонимы оболочки C.

Если для команды ls -l задан псевдоним ls, команда

ls /usr

будет заменена командой

ls -l /usr

Список аргументов при этом не меняется, поскольку в команде из списка хронологии отсутствуют ссылки. Аналогично, если псевдоним lookup соответствует команде

grep \!^ /etc/passwd

то оболочка заменит строку lookup bill на

grep bill /etc/passwd

В этом примере !^ заменяется на первый аргумент строки ввода, в данном случае bill.

В псевдониме можно применять специальные символы-шаблоны. Команда

alias lprint 'pr &bslash2.!* >
 
> print'

создает команду, форматирующую свои аргументы для построчного принтера. Символ ! защищен от оболочки одинарными кавычками, поэтому он не будет развернут до запуска команды pr.

Если оболочка обнаруживает псевдоним, она выполняет преобразование слов исходного текста и начинает обработку псевдонимов заново, в новой строке ввода. Если первое слово нового текста совпадает со старым, цикл обработки псевдонимов прерывается. При обнаружении других вложенных циклов выдается ошибка.


[ Страница назад | Страница вперед | Содержание | Индекс | Домой | Юридическая информация | Поиск ]