Псевдоним - это имя, присвоенное команде или командной строке. Оболочка 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.
Если оболочка обнаруживает псевдоним, она выполняет преобразование слов исходного текста и начинает обработку псевдонимов заново, в новой строке ввода. Если первое слово нового текста совпадает со старым, цикл обработки псевдонимов прерывается. При обнаружении других вложенных циклов выдается ошибка.