Если bash запущен по имени rbash или с опцией -r при вызове,
командный интерпретатор становится ограниченным. Ограниченный командный
интерпретатор используется для создания более управляемой стреды по сравнению с
обычным интерпретатором. Он ведет себя аналогично bash, но следующие действия
не разрешены или не выполняются:
- изменение текущего каталога с помощью cd
- установка или сброс значений переменных SHELL, PATH, ENV или
BASH_ENV
- указание / в именах команд
- указание имени файла, содержащего /, в качестве аргумента для встроенной команды .
- импортирование определений функций из среды командного интерпретатора при запуске
- разбор значения переменной SHELLOPTS из среды командного интерпретатора при
запуске
- перенаправление вывода с помощью операторов >, >|, <>, >&, &>
и >>
- использование встроенной команды exec
для замены командного интерпретатора другой командой
- добавление или удаление встроенных команд с помощью опций -f и -d
встроенной команды enable
- указание опции -p для встроенной команды command
- отключение режима ограниченного командного интерпретатора с помощью опций
set +r или set +o restricted.
Эти ограничения применяются после чтения файлов начального запуска.
При выполнении команды, которая оказалась сценарием командного интерпретатора
(см. раздел "ВЫПОЛНЕНИЕ КОМАНД" ранее),
rbash отключает любые ограничения в
командном интерпретаторе, порожденном для выполнения сценария.
-
Bash Features, Brian Fox and Chet Ramey
The Gnu Readline Library, Brian Fox and Chet Ramey
The Gnu History Library, Brian Fox and Chet Ramey
Utilities, IEEE Portable Operating System Interface (POSIX) Part 2: Shell
и
sh(1),
ksh(1),
csh(1),
vi(1)
- /bin/bash
-
Выполняемый файл bash
- /etc/profile
-
Общесистемный файл инициализации, выполняется начальными командными интерпретаторами
- ~/.bash_profile
-
Личный файл инициализации, выполняется начальными командными интерпретаторами
- ~/.bashrc
-
Отдельный файл начального запуска для интерактивных командных интерпретаторов
- ~/.bash_logout
-
Отдельный файл очистки для начального командного интерпретатора, выполняемый при
завершении его работы
- ~/.inputrc
-
Отдельный файл инициализации библиотеки readline
Брайан Фокс (Brian Fox), Free Software Foundation
bfox@gnu.ai.MIT.Edu
Чет Реми (Chet Ramey), Case Western Reserve University
chet@ins.CWRU.Edu
Если вы обнаружили ошибку в bash, сообщите о ней. Но сначала убедитесь, что
это действительно ошибка, и что она проявляется в последней имеющейся у вас версии
bash.
После того, как определено, что ошибка действительно существует, используйте команду
bashbug для посылки сообщения об ошибке. Если вы знаете, как ошибку исправить,
пришлите и исправление! Предложения и "философские" сообщения об ошибках
можете отправлять по электронной почте по адресу
bug-bash@gnu.org или в дискуссионную
группу Usenet gnu.bash.bug.
ВСЕ сообщения об ошибках должны включать:
- номер версии bash
- информацию об аппаратной платформе и операционной системе
- компилятор, использовавшийся для компиляции
- описание ошибочного поведения
- короткий сценарий или "рецепт", позволяющий воспроизвести проблему
Команда bashbug вставляет первые три компонента в предлагаемый шаблон сообщения
об ошибке автоматически.
Комментарии и сообщения об ошибках на этой странице справочного руководства
отправляйте по адресу chet@ins.CWRU.Edu.
Комментарии и сообщения об ошибках в переводе этой страницы справочного руководства
на русский язык отправляйте по адресу valera@openxs.kiev.ua.
Слишком большой и слишком медленный.
Есть ряд небольших отличий между bash и традационными версиями sh, в основном,
связанные с поддержкой спецификации POSIX.
Псевдонимы иногда могут сбивать с толку.
Встроенные команды и функции интерпретатора нельзя остановить/перезапустить.
Составные команды и последовательности команд вида 'a ; b ; c' обрабатываются
некорректно при попытке приостановки процесса. Когда процесс останавливается,
командный интерпретатор немедленно выполняет следующую команду в последовательности.
Для выполнения последовательности команд в порожденном командном интерпретаторе, что
позволяет останавливать их, как единое целое, достаточно взять ее в скобки.
Команды в операторе подстановки результатов выполнения команды $(...) не
разбираются, пока не будет выполнена попытка подстановки. Это откладывает
выдачу сообщения об ошибке на определенное время при вводе команды.
Нельзя (пока) экспортировать массивы.
Исходный код bash доступен в пакете SUNWbashS.
Последнее изменение: 20 января 1999 года
содержание назад