Spec-Zone.ru › Bash

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

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

  1. Скрипты запуска читаются и выполняются, как описано в Файлах запуска Bash.
  2. Управление заданиями (см. Управление заданиями) включено по умолчанию. При включенном управлении заданиями Bash игнорирует сигналы управления заданиями, генерируемые клавиатурой SIGTTIN, SIGTTOU, и SIGTSTP.
  3. Bash расширяет и отображает PS1 перед чтением первой строки команды, и расширяет и отображает PS2 перед чтением второй и последующих строк многострочной команды. Bash расширяет и отображает PS0 после прочтения команды, но перед ее выполнением. Полный список escape-последовательностей для строк приглашения см. в Управлении приглашением.
  4. Bash выполняет значения элементов массива PROMPT_COMMAND как команды перед выводом основного приглашения $PS1 (см. Переменные Bash).
  5. Для чтения команд с терминала пользователя используется Readline (см. Редактирование командной строки).
  6. Bash проверяет значение опции ignoreeof для set -o вместо немедленного выхода, когда получает EOF на стандартный ввод при чтении команды (см. Встроенное задание Set).
  7. История команд (см. Средства истории 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 не задано или равно нулю в расширениях ${var:?word} (см. Расширение параметров оболочки).
  16. Ошибки перенаправления, встреченные встроенными командами оболочки, не приведут к выходу оболочки.
  17. При работе в режиме POSIX специальное встроенное задание, возвращающее код ошибки, не вызовет выход оболочки (см. Режим POSIX Bash).
  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