Опять про PS1
В дополнению к первому посту о переменной окружения PS1, для себя определился, что у моего пользователя она такая:
а у рута будет лиловенькая:
Показать
И вообще, на всякий случай привожу краткие выдержки конфигурационных файлов моего BASH’a:
Мой ~/.bashrc
PS1='\[\e]0;`if [[ $? = 0 ]]; then echo "\[\033[1;34m\]"; else echo "\[\033[1;31m\]"; fi`\t \[\033[1;32m\]\u\[\033[0;37m\]@\[\033[1;32m\]\H\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' alias sus='sudo -s' if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi export PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs
Мой ~/.profile
if [ -n "$BASH_VERSION" ]; then if [ -f "$HOME/.bashrc" ]; then "$HOME/.bashrc" fi fi if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi export LANG=ru_RU.UTF-8 export LANGUAGE=ru_RU.UTF-8 export LC_ALL=ru_RU.UTF-8 export PAGER=/usr/bin/most if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
/root/.bashrc
PS1='${debian_chroot:+($debian_chroot)}`if [[ $? = 0 ]]; then echo "\[\033[1;34m\]"; else echo "\[\033[1;31m\]"; fi`\t \[\e[0;95m\]\u\[\033[0;37m\]@\[\033[1;32m\]\H\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' export LANG=ru_RU.UTF8 export LC_ALL=ru_RU.UTF8 export PAGER=/usr/bin/most if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
/root/.profile
if [ "$BASH" ]; then if [ -f ~/.bashrc ]; then . ~/.bashrc fi fi mesg n || true
Вишенкой на торте — механика процесса инициализации оболочки
(из Вики, чтобы представлять, как оно внутри устроено и заводится).
Когда Bash вызывается как интерактивная оболочка входа в систему, первым делом он читает и вызывает команды из файла /etc/profile, если этот файл существует. После чтения этого файла, он смотрит следующие файлы в следующем порядке: ~/.bash_profile, ~/.bash_login и ~/.profile, читает и вызывает команды из первого, который существует и доступен для чтения. При выходе bash читает и выполняет команды из файла ~/.bash_logout.
Когда запускается интерактивная оболочка, но не для входа в систему, bash читает и исполняет команды из файлов /etc/bash.bashrc и ~/.bashrc, если они существуют. Это может быть отменено опцией -norc. Опция -rcfile file заставит Bash использовать команды из файла file вместо /etc/bash.bashrc и ~/.bashrc.