Spec-Zone.ru › Bash

Поведение интерактивной оболочки

При интерактивном запуске оболочка изменяет свое поведение несколькими способами.

  1. Bash считывает и выполняет файлы запуска, как описано в разделе Файлы запуска Bash.
  2. Управление заданиями (см. раздел Управление заданиями) включено по умолчанию. Когда действует управление заданиями, Bash игнорирует сигналы управления заданиями, генерируемые клавиатурой: SIGTTIN, SIGTTOU и SIGTSTP.
  3. Перед выводом основного приглашения, $PS1, Bash выполняет в качестве команд значения установленных элементов переменной массива PROMPT_COMMAND (см. раздел Переменные Bash).
  4. Перед считыванием первой строки команды Bash раскрывает и отображает PS1, а перед считыванием второй и последующих строк многострочной команды — раскрывает и отображает PS2. После считывания команды, но перед ее выполнением Bash раскрывает и отображает PS0. Полный список управляющих последовательностей строк приглашения см. в разделе Управление приглашением.
  5. Для считывания команд с терминала пользователя Bash использует Readline (см. раздел Редактирование командной строки).
  6. При считывании команды Bash проверяет значение параметра ignoreeof, чтобы set -o, вместо того чтобы немедленно завершить работу при получении EOF из стандартного ввода (см. раздел Встроенная команда set).
  7. По умолчанию Bash включает историю команд (см. раздел Средства работы с историей Bash) и подстановку истории (см. раздел Подстановка истории). При завершении работы оболочки с включенной историей Bash сохраняет историю команд в файл, имя которого задано значением $HISTFILE.
  8. По умолчанию выполняется подстановка псевдонимов (см. раздел Псевдонимы).
  9. Если обработчики сигналов не заданы, Bash игнорирует SIGTERM (см. раздел Сигналы).
  10. Если обработчики сигналов не заданы, SIGINT перехватывается и обрабатывается (см. раздел Сигналы). SIGINT прерывает выполнение некоторых встроенных команд оболочки.
  11. При завершении интерактивная оболочка входа отправляет SIGHUP всем заданиям, если включен параметр оболочки huponexit (см. раздел Сигналы).
  12. Параметр -n не действует ни при запуске, ни при использовании команды «set -n» (см. раздел Встроенная команда set).
  13. Bash будет периодически проверять наличие почты в зависимости от значений переменных оболочки MAIL, MAILPATH и MAILCHECK (см. раздел Переменные Bash).
  14. После включения параметра «set -u» оболочка не будет завершать работу из-за ошибок раскрытия, вызванных обращением к неопределенным переменным оболочки (см. раздел Встроенная команда set).
  15. Оболочка не будет завершать работу из-за ошибок раскрытия, вызванных тем, что var не задана или имеет значение null в раскрытиях ${var:?word} (см. раздел Раскрытие параметров оболочки).
  16. Ошибки перенаправления, возникающие во встроенных командах оболочки, не приведут к завершению работы оболочки.
  17. В режиме POSIX встроенная специальная команда, возвращающая код ошибки, не приведет к завершению работы оболочки (см. раздел Bash и POSIX).
  18. Сбой exec не приведет к завершению работы оболочки (см. раздел Встроенные команды оболочки Bourne).
  19. Синтаксические ошибки анализатора не приведут к завершению работы оболочки.
  20. Если включен параметр оболочки cdspell, оболочка попытается исправить простые опечатки в аргументах — именах каталогов — для встроенной команды cd (см. описание параметра cdspell встроенной команды shopt в разделе Встроенная команда shopt). Параметр cdspell действует только в интерактивных оболочках.
  21. Оболочка проверит значение переменной TMOUT и завершит работу, если команда не будет введена в течение указанного числа секунд после вывода $PS1 (см. раздел Переменные Bash).

Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Interactive-Shell-Behavior.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API