- •И.Н.Акуленок
- •Утверждено советом университета
- •Введение
- •Глава 1. Текстовые редакторы
- •1.1. Редактор ed
- •1.1.1. Команды, не использующие адресации строк
- •1.1.2. Команды, использующие один адрес
- •1.1.3. Команды, использующие два адреса
- •1.1.4. Нумерация строк
- •1.1.5. Примеры использования команд
- •1.2. Редактор VI и ex
- •1.2.1. Редактирование нескольких файлов
- •1.2.2. Вставка текста из одного файла в другой
- •1.3. Потоковый редактор sed
- •1.4. Контрольные вопросы
- •Глава 2. Командные процессоры ос unix
- •2.1. Типы командных процессоров
- •2.2. Идентификация и смена оболочки
- •2.3. Запуск shell и стартовых shell–файлов
- •2.4. Установка переменных среды
- •2.5. Псевдонимы команд
- •2.6. Выполнение .Profile после его изменения
- •2.7. Контрольные вопросы
- •Глава 3. Интерпретатор shell
- •3.1. Shell–переменные
- •3.1.1. Задание значений переменных и их отмена
- •3.1.2. Экспорт переменных
- •3.2. Специальные символы
- •3.2.1. Использование двойных кавычек и апострофа
- •3.2.2. Обратные апострофы
- •3.2.3. Обратная наклонная черта
- •3.3. Позиционные переменные
- •3.4. Код завершения процесса
- •3.5. Конвейеры и списки
- •3.6. Композиции команд
- •3.5.1. Порожденный shell – оператор круглые скобки ( )
- •3.5.2. Оператор списка – фигурные скобки {}
- •3.6. Контрольные вопросы
- •Глава 4. Программные структуры
- •4.1. Команда test
- •4.1.1. Условия проверки файлов
- •4.1.2. Условия проверки строк
- •4.1.3. Условия сравнения целых чисел
- •4.1.4. Сложные условия
- •4.2. Команда expr
- •4.3. Команда read
- •4.4.Условный оператор if
- •4.5. Оператор цикла for
- •4.6. Операторы цикла while и until
- •4.7. Оператор вызова case
- •4.8. Функции в shell
- •4.9. Контрольные вопросы
- •5. Создание сценария командного процессора
- •5.1. Пример простейшего сценария
- •5.2. Основные этапы разработки сценария
- •5.3. Отладка командных процедур
- •5.4. Выполнение shell–программ
- •5.5. Создание новых команд
- •5.6. Контрольные вопросы
- •Список литературы
- •Оглавление
- •Акуленок Ирина Николаевна
2.5. Псевдонимы команд
Псевдонимы– это сокращения для часто используемых длинных команд или их последовательностей.
Свойство использования псевдонимов команд оболочки Kornявляется одним из наиболее привлекательных и гибких усовершенствований в сравнении с оболочкойBourne.
При определении псевдонимов команд пользователь вместо длинной командной строки вводит короткое обозначение. Во время выполнения команды оно замещается представляемой им строкой. Командной строкой может быть не только имя команды, она может также определять опции и аргументы команды, тогда ее следует заключить в апострофы.
$ alias ll 'ls –l'
Это делается с помощью команды alias, которая встроена в оболочку. Это означает, что она доступна только при запущенной оболочкеKorn. Она не является частью операционной системы UNIX в целом. Общий синтаксис этой команды следующий:
alias –x name=value
Имя псевдонима – это команда быстрого доступа, вводимая с клавиатуры. После знака равенства вводится текст, которым оболочка должна замещать команду быстрого доступа. Строку значения псевдонима необходимо заключать в одинарные кавычки, чтобы скрыть входящие в нее пробелы и специальные символы от немедленной интерпретации оболочкой.
Так же, как и переменные среды окружения, псевдонимы могут экспортироваться, т.е. передаваться "по наследству" запускаемым из данного сеанса работы другим командным процессорам. Для этого используется опция –xкомандыalias.
Можно определить любые необходимые псевдонимы. Каждый пользователь стремится иметь свой собственный набор псевдонимов. В основном создаются какие–либо псевдонимы для команды ls. Ниже приведены примеры нескольких типичных псевдонимов:
$ alias ls=’/usr/bin/ls –FC’
$ alias l=’/usr/bin/ls –l’
$ alias la=’/usr/bin/ls –al’
$ alias li=’/usr/bin/ls –il’
Обратите внимание, что в большинстве случаев используются полные пути команд в определении псевдонима. Тем самым исключается поиск команды в каталогах и обеспечивается эффект быстрого доступа к командам.
Для удаления псевдонима, ранее определенного пользователем или оболочкой, необходимо использовать команду
unalias name
Каждый командный процессор выполняет разбор командной строки в строго определенном порядке:
определение команд и их аргументов;
подстановка псевдонимов (определенных командой alias);
подстановка имен файлов согласно шаблонам;
подстановка результата выполнения команды, если есть конструкция ` `;
запуск программ и передача им переменных среды окружения и аргументов.
2.6. Выполнение .Profile после его изменения
При всех изменениях в файле .profileнеобходимо выполнить его перед выходом из системы. При наличии в нем ошибок могут возникнуть трудности с обратным входом в систему. Для тестирования.profileможет быть запущен с командой. (точка):
$ . ./.profile
Не забудьте вставить пробел после первой точки: это имя команды, а ./.profile– это аргумент (хотя.profileобычно подходит и сам по себе, может потребоваться использование./.profile, если текущий каталог не находится в пути поиска). Команда точки не только выполняет сценарий, но также сохраняет любые изменения среды после прерывания сценария.
Можно запустить сценарий командной ksh –v, чтобы оболочка выполняла сенарий и выводила каждый оператор по мере его выполнения:
$ ksh –v ./.profile