Лекция: Команды функции и программы.
Все команды, которые вводятся в строке приглашения оболочки, относятся к одной из следующих категорий:
1) встроенные функции (встроенные команды);
2) функции оболочки, определенные пользователем;
3) внешние программы (внешние команды) и утилиты.
Команды, код которых находится в исполняемом файле оболочки, называются встроенными или внутренними. Наиболее важные из них ‑ cd, pwd, echo, kill, read, set, unset, setenv, export. Если набранное пользователем имя команды является именем встроенной команды, она немедленно будет исполнена без порождения нового процесса.
Если же имя не совпадает с именами встроенных команд, оболочка выполняет поиск исполняемого файла программы с указанным именем. Программы и утилиты представляют собой внешние по отношению к оболочке команды и являются обычными исполнительными файлами.
Пользователям, запускающим команды, нет необходимости знать, какого типа эти команды.
Пользователь может определить функцию командного интерпретатора и использовать ее как встроенную функцию shell, которая по синтаксису мало отличается от скрипта, но работает быстрее.
Синтаксис пользовательской функции: name_function() { command command... } | Пример пользовательской функции: mcd() { cd $HOME echo You are in home directory } |