Prompt BASH inicial diferente

Prompt BASH inicial diferente

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 .bashrcos envia?

informação relacionada