LINUX.ORG.RU

не подтягивается функция из profile.d

 ,


0

1

есть у меня файлик в /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) или просто включаю терминал, залогинившись под кедами, оно, очевидно, пытается выполнить первую строку, не обращая внимание на функцию. почему это так и что с этим сделать?

★★★

Я подобное в ~/.bashrc сделал (при этом ~/.bash_profile запускает ~/.bashrc). Глобально я бы это положил в /etc/bash/bashrc. ИМХО.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

кажется, нашёл: http://askubuntu.com/questions/247738/why-is-etc-profile-not-invoked-for-non-...

то есть, не сорсится /etc/profile и это надо действительно класть в /etc/bash.bashrc (для дебиана). только как тогда разворачивать это всё одним скачиванием, непонятно

xsektorx ★★★
() автор топика
Ответ на: комментарий от Kroz

экспортировал ещё и функцию в конце, теперь работает

xsektorx ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.