Fügen Sie nach jedem Terminalbefehl außer am Anfang eine neue Zeile ein

726
saadq

Ich möchte nach jedem Befehl, den ich im Terminal eingebe, eine neue Zeile hinzufügen. Im Moment habe ich diese Zeile in meiner .bash_profileDatei:

export PS1="\n\u$ " 

Das funktioniert wie erwartet:

Fügen Sie nach jedem Terminalbefehl außer am Anfang eine neue Zeile ein

Das Problem bei dieser Methode ist jedoch, dass beim Start des Terminals oben eine neue Zeile erstellt wird. Gibt es eine Möglichkeit, um zu verhindern, dass ein Newline beim Starten des Terminals erscheint?

0

2 Antworten auf die Frage

1
meuh

Es ist ein bisschen schwer, aber Sie können dies in Ihrem .bash_profile verwenden:

PROMPT_COMMAND='PROMPT_COMMAND='\''PS1="\n\u$ "'\' 

PROMPT_COMMAND wird vor jeder Aufforderung ausgewertet. In der ersten Zeile setzt es sich selbst zurück, um die PS1-Aufforderung für das nächste Mal (und danach ständig) festzulegen. Das '\''Bit enthält eine 'Zeichenfolge mit einem einfachen Anführungszeichen.

0
404

Ein Ansatz mit printf:

$ printf '%s\n' * $'\n' 

oder besser (für jeden Befehl):

$ PROMPT_COMMAND="echo" $ ls