Это в некоторой степени косметический (и тривиальный) вопрос, но я полагаю, что он может быть полезен для других, кроме меня. Я играл с переменной $ PS1 в моем ~/.bashrc, и мне было интересно, есть ли способ, чтобы первое приглашение немного отличалось от любого другого. Более конкретно, пока у меня есть:

PS1='\n\[\e[0;37m\][\[\e[0;35m\]\t\[\e[0;37m\]] \[\e[0;36m\]\u@\h \[\e[0;37m\][\[\e[1;34m\]\W\[\e[0;37m\]] \[\e[0;36m\]\$ \[\e[0m\]'

но я не хочу, чтобы символ новой строки в начале отображался в первом приглашении (и я мог бы расширить это, чтобы первое приглашение включало дополнительную информацию и т. д.). Я использую gnome-терминал, если это имеет значение.

Это вообще возможно? И если да, то как?

2 ответа2

1

Один из способов сделать это - использовать PROMPT_COMMAND в bash. Например, вы можете поместить следующее в ваш ~/.bashrc (или выполнить его в командной строке во время эксперимента).

set_ps()
{
    if [ -z "$PSFLAG" ]
    then
        # Set first prompt
        PS1='first prompt: '
        PSFLAG=1
    else
        # Set other prompt
        PS1='other prompt: '
    fi
}
PROMPT_COMMAND=set_ps
0

Если вы хотите, чтобы некоторые символы выводились перед первым приглашением, и никогда больше, почему бы вам просто не сделать вывод .bashrc ?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .