Это своего рода косметический (и тривиальный) вопрос, но я полагаю, что он может быть полезен и другим, а не мне. Я экспериментировал с переменной $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-terminal, если это имеет значение.
Возможно ли это вообще? И если да, то как?
решение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
решение2
Если вы хотите, чтобы некоторые символы выводились до первой подсказки и никогда больше, почему бы вам просто не .bashrc
вывести их?