четверг, 10 февраля 2011 г.

BASH. Встроенные команды.

В заметке приведены встроенные команды, которые можно использовать при написании скриптов.

BASH — Bourne-Again SHell (что может переводится как «перерожденный шел», или «Снова шел Борна(создатель sh)»), самый популярный командный интерпретатор в юниксоподобных системах, в особенности в GNU/Linux.

Внутренняя (встроенная) команда -- это команда, которая встроена непосредственно в Bash. Команды делаются встроенными либо из соображений производительности -- встроенные команды исполняются быстрее, чем внешние, которые, как правило, запускаются в дочернем процессе, либо из-за необходимости прямого доступа к внутренним структурам командного интерпретатора. В общем случае, встроенные команды Bash, при исполнении внутри сценария, не порождают новый подпроцесс, в то время как вызов внешних команд, как правило, приводит к созданию нового подпроцесса.
  • break выход из цикла for, while или until
  • continue выполнение следующей итерации цикла for, while или until
  • echo вывод аргументов, разделенных пробелами, на стандартное устройство вывода
  • printf команда форматированного вывода, расширенный вариант команды echo и ограниченный вариант библиотечной функции printf() в языке C, к тому же синтаксис их несколько отдичается друг от друга.
  • cd изменяет текущий каталог, может быть использована в случаях, когда некоторую команду необходимо запустить только находясь в определенном каталоге
  • exit выход из оболочки
  • export отмечает аргументы как переменные для передачи в дочерние процессы в среде
  • hash запоминает полные имена путей команд, указанных в качестве аргументов, чтобы не искать их при следующем обращении
  • kill посылает сигнал завершения процессу
  • pushd,popd,dirs - Этот набор команд является составной частью механизма "закладок" на каталоги и позволяет перемещаться по каталогам вперед и назад в заданном порядке. Для хранения имен каталогов используется стек LIFO.
  • evalтранслирует список аргументов, из списка, в команды.
  • readonly - То же самое, что и declare -r, делает переменную доступной только для чтения, т.е. переменная становится подобна константе. При попытке изменить значение такой переменной выводится сообщение об ошибке. Эта команда может расцениваться как квалификатор типа const в языке C.
  • declare,typeset задают и/или накладывают ограничения на переменные.
  • pwd выводит текущий рабочий каталог
  • read читает строку из ввода оболочки и использует ее для присвоения значений указанным переменным.
  • return заставляет функцию оболочки выйти с указанным значением
  • shift перемещает позиционные параметры налево
  • test вычисляет условное выражение
  • times выводит имя пользователя и системное время, использованное оболочкой и ее потомками
  • trap указывает команды, которые должны выполняться при получении оболочкой сигнала
  • unset вызывает уничтожение переменных оболочки
  • wait ждет выхода из дочернего процесса и сообщает выходное состояние.
  • set команда set изменяет значения внутренних переменных сценария. Она может использоваться для переключения опций (ключей, флагов), определяющих поведение скрипта. Еще одно применение -- сброс/установка позиционных параметров (аргументов), значения которых будут восприняты как результат работы команды (set `command`).
  • help COMMAND -- выводит краткую справку по использованию внутренней команды COMMAND. Аналог команды whatis, только для внутренних команд.
Источники:
  1. Основы BASH. Часть 1.
  2. Глава 11. Внутренние команды
  3. Возможности оболочки Борна.

Комментариев нет:

Отправить комментарий