Esta é uma questão um tanto cosmética (e trivial), mas suponho que possa ser útil para outras pessoas além de mim. Tenho brincado com a variável $PS1 em meu ~/.bashrc e queria saber se havia alguma maneira de fazer com que o primeiro prompt fosse um pouco diferente de todos os outros prompts. Mais especificamente, até agora tenho:
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\]'
mas não quero que a nova linha no início seja exibida no primeiro prompt (e eu poderia estender isso para que o primeiro prompt inclua mais informações, etc.). Estou usando o gnome-terminal, se isso faz diferença.
Tudo isso é possível? E se sim, como?
Responder1
Uma maneira de fazer isso seria usar o PROMPT_COMMAND do bash. Por exemplo, você pode colocar o seguinte em seu ~/.bashrc (ou executá-lo na linha de comando enquanto experimenta).
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
Responder2
Se você deseja que alguns caracteres sejam exibidos antes do primeiro prompt e nunca mais, por que simplesmente não .bashrc
os envia?