есть у меня файлик в /etc/profile.d, prompt.sh, вот такой:
export PROMPT_COMMAND=prompt
function prompt() {
local EXIT=${?}
if [[ ${EUID} == 0 ]] ; then
PS1="\[\033[1;36m\]\h\[\033[1;34m\] \w ["
if [[ ${EXIT} == 0 ]]; then
PS1+="\[\033[1;32m\]"
else
PS1+="\[\033[1;31m\]"
fi
PS1+="${EXIT}\[\033[1;34m\]] #\[\033[m\] "
else
PS1="${debian_chroot:+($debian_chroot)}\[\033[1;32m\]\u@\h\[\033[m\] \[\033[1;34m\]\w ["
if [[ ${EXIT} == 0 ]]; then
PS1+="\[\033[1;32m\]"
else
PS1+="\[\033[1;31m\]"
fi
PS1+="${EXIT}\[\033[1;34m\]] \$\[\033[m\] "
fi
}
конда я логинюсь из консоли или командой login, он отлично отрабатывает, по ssh - отлично отрабатывает, захожу через su -l - отлично отрабатывает. но если я захожу командой su (без -l) или просто включаю терминал, залогинившись под кедами, оно, очевидно, пытается выполнить первую строку, не обращая внимание на функцию. почему это так и что с этим сделать?