Mensaje BASH inicial diferente

Mensaje BASH inicial diferente

Esta es una pregunta un tanto cosmética (y trivial), pero supongo que puede ser útil para otras personas además de para mí. He estado jugando con la variable $PS1 en mi ~/.bashrc y me preguntaba si había alguna manera de que el primer mensaje fuera ligeramente diferente a todos los demás. Más específicamente, hasta ahora tengo:

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\]'

pero no quiero que la nueva línea al principio se muestre en el primer mensaje (y podría ampliar esto para que el primer mensaje incluya más información, etc.). Estoy usando gnome-terminal, si eso hace la diferencia.

¿Es esto posible? Y si es así, ¿cómo?

Respuesta1

Una forma de hacer esto sería utilizar PROMPT_COMMAND de bash. Por ejemplo, podrías poner lo siguiente en tu ~/.bashrc (o ejecutarlo en la línea de comando mientras experimentas).

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

Respuesta2

Si desea que algunos caracteres se muestren antes del primer mensaje y nunca más, ¿por qué no .bashrclos genera?

información relacionada