Поиск…


замечания

Войти в Shell

Оболочка для входа - это тот, чей первый символ аргумента нуль - -, или один начинается с параметра -login. Инициализация более полная, чем в обычной интерактивной (суб) оболочке.

Интерактивная оболочка

Интерактивная оболочка запускается без аргументов без опционов и без опции -c, стандартный ввод и ошибка которой соединены с терминалами (как определено isatty (3)), или один начинается с опции -i. PS1 установлен, а $ - включает i, если bash является интерактивным, позволяя сценарию оболочки или загрузочному файлу проверить это состояние.

неинтерактивная оболочка

Неинтерактивная оболочка - это оболочка, в которой пользователь не может взаимодействовать с оболочкой. Например, оболочка, запускающая скрипт, всегда является неинтерактивной оболочкой. Тем не менее, скрипт может получить доступ к его tty.

Настройка оболочки входа

При входе в систему:

If '/etc/profile' exists, then source it. 
If '~/.bash_profile' exists, then source it, 
else if '~/.bash_login' exists, then source it, 
else if '~/.profile' exists, then source it. 

Для интерактивных оболочек без входа

При запуске:

If `~/.bashrc' exists, then source it.

Для неинтерактивных оболочек

При запуске: Если переменная окружения ENV не равна null, разверните переменную и введите файл с именем по значению. Если Bash не запускается в режиме Posix, он ищет BASH_ENV до ENV.

Введение в файлы точек

В Unix файлы и каталоги, начинающиеся с периода, обычно содержат настройки для конкретной программы / серии программ. Файлы Dot обычно скрыты от пользователя, поэтому вам нужно будет запустить ls -a чтобы увидеть их.

Примером точечного файла является .bash_history , который содержит последние выполненные команды, предполагая, что пользователь использует Bash.

Существуют различные файлы, которые получены при падении в оболочку Bash. На изображении ниже, взятом с этого сайта , показан процесс принятия решения о выборе файлов для запуска при запуске.

Дерево принятия решений для поиска файлов

Начать интерактивную оболочку

bash

Определить тип оболочки

shopt -q login_shell && echo 'login' || echo 'not-login'


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow