Интерпретатор Bourne-Again

02.04.2010

Командный интерпретатор Bourne-Again (bash) — это лексически совместимый с Bourne интерпретатор команд, читаемых как из стандартного потока ввода, так и из файла. Интерпретатор bash объединяет в себе полезные возможности интер­претаторов Когп и С и является полностью совместимым со спецификацией IEEE pOSIX Shell and Tools (IEEE Working Group 1003.2).

Инициализационные файлы интерпретатора Bourne-Again
вы запускаете bash как интерактивный интерпретатор входа в систему или sK не интерактивный интерпретатор с ключом -login, интерпретатор bash прежде всего читает и исполняет команды из файла /etc/profile, если этот файл существует, то после прочтения файла /etc/profile bash пытается обнаружить файлы По ash_profile, -/bash-login и -/.profile в указанном порядке. Он читает и исполняет команды из первого обнаруженного файла, если этот файл доступен для чтения Чтобы предотвратить чтение и обработку этих файлов, можно запустить
с ключом -noprofili. При завершении работы в качестве интерпретатора входа в систему bash читает и выполняет команды из файла -/. bash_logout, если этот файл существует.
Если bash запускается как интерактивный интерпретатор, не являющийся ин­терпретатором входа в систему, происходит чтение и исполнение команд из фай­ла -/ .bashrc, если этот файл существует. Чтобы отменить подобное поведение, при запуске интерактивного интерпретатора используйте ключ -погс. Вы также можете приказать интерпретатору bash читать и исполнять команды из другого файла, для этого необходимо использовать ключ -rcfile имя_файла.
Если вы запускаете bash интерактивно, например, чтобы выполнить сценарий, интерпретатор bash получает значение переменной окружения BASH_ENV, расши­ряет ее значение и использует результат как имя файла, который требуется про­читать и выполнить. Интерпретатор bash ведет себя так, как будто вы выполняете следующую команду, однако при этом значение переменной PATH не использует­ся для поиска имени файла:
if [ -n "$BASH_ENV" }: then . "tBASHJNV"; fi
Более подробную информацию можно получить из электронной документа­ции bash(l).