Andere anfängliche BASH-Eingabeaufforderung

Andere anfängliche BASH-Eingabeaufforderung

Dies ist eine eher kosmetische (und triviale) Frage, aber ich nehme an, dass sie für andere als mich nützlich sein könnte. Ich habe mit der Variable $PS1 in meiner ~/.bashrc herumgespielt und mich gefragt, ob es eine Möglichkeit gibt, die erste Eingabeaufforderung etwas anders zu gestalten als alle anderen Eingabeaufforderungen. Genauer gesagt habe ich bisher Folgendes:

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

aber ich möchte nicht, dass die neue Zeile am Anfang in der ersten Eingabeaufforderung angezeigt wird (und ich könnte dies erweitern, damit die erste Eingabeaufforderung weitere Informationen usw. enthält). Ich verwende Gnome-Terminal, falls das einen Unterschied macht.

Ist das überhaupt möglich? Und wenn ja, wie?

Antwort1

Eine Möglichkeit hierfür wäre die Verwendung von PROMPT_COMMAND von bash. Sie könnten beispielsweise Folgendes in Ihre ~/.bashrc einfügen (oder es während des Experimentierens in der Befehlszeile ausführen).

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

Antwort2

Wenn Sie möchten, dass einige Zeichen vor der ersten Eingabeaufforderung und nie wieder ausgegeben werden, warum geben Sie .bashrcsie dann nicht einfach aus?

verwandte Informationen