BASH, SH
Переменные и конфиг файлы
+-----------------+ +------FIRST-------+ +-----------------+
| | | ~/.bash_profile | | |
login shell -------->| /etc/profile |-->| ~/.bash_login ------>| ~/.bashrc |
| | | ~/.profile | | |
+-----------------+ +------------------+ +-----------------+
+-----------------+ +-----------------+
| | | |
interactive shell -->| ~/.bashrc -------->| /etc/bashrc |
| | | |
+-----------------+ +-----------------+
+-----------------+
| |
logout shell ------->| ~/.bash_logout |
| |
+-----------------+
- []–>[] - запускается автоматически
- [—>[] - запускается если прописан или в ручную.
- FIRST - находит первый доступный, остальные игнорируются
Несколько примечаний:
- «интерактивная оболочка» должна быть «интерактивной оболочкой без входа в систему», а «оболочка входа в систему» должна быть «интерактивной оболочкой входа в систему».
- Кроме того, по крайней мере, в Ubuntu, для интерактивных оболочек без входа в систему /etc/bash.bashrc сначала читается ~/.bashrc. Обратите внимание, что /etc/bash.bashrc его нет в ванильном GNU Bash, это модификация, которую делают многие дистрибутивы.
Согласно мануалу по bash, .bash_profile исполняется для оболочек, осуществляющих авторизацию пользователя. .bashrc исполняется для интерактивных оболочек, не авторизующих пользователя.
Документация
Программирования
- http://habrahabr.ru/post/47706/ 1 часть
- http://habrahabr.ru/post/47915/ 2 часть
- http://habrahabr.ru/post/48053/ 3 часть
Видео уроки
Применить настройки
- source ~/.bashrc
Примеры конфигурационных файлов
Примеры
Замена текста в файлах с возможностью рекурсии
find ./ -type f -exec sed -i 's/CHARSET=utf8/CHARSET=cp1251/g' {} \;