Anzeige einer neuen Zeile an der Eingabeaufforderung

53

Ich möchte bei jeder Eingabeaufforderung eine neue Zeile einfügen. Anstelle des Cursors, der in der Zeile als angezeigt wird name@machine:~$ _,

Ich möchte, dass es in der nächsten Zeile steht, wie zum Beispiel:

name@machine:~$
_

Vielen Dank.

theTuxRacer
quelle

Antworten:

69
  • Öffnen Sie die Datei ~/.bashrc(oder /etc/bash.bashrcwenn sie für alle Benutzer global funktionieren soll).

  • Suchen Sie die aufgerufene Variable PS1.

  • Setzen Sie einfach ein \nam Ende des Werts der PS1Variablen.

Drehmoment
quelle
18
Der einfachste Weg, dies zu tun, ist das Hinzufügen von PS1 = "$ PS1 \ n" am Ende Ihrer ~ / .bashrc-Datei.
Dennis VanMeter
3
Schätze, das ist einfacher zu pflegen - warum machst du es nicht zu einer neuen Antwort? :)
htorque
Ja, das habe ich getan. Es gab zu viele Zeilen, an die ein \ n angehängt werden konnte. Daher habe ich eine neue Variable erstellt.
theTuxRacer
8

Ich bevorzuge die Verwendung einer benutzerdefinierten .bashrcDatei

Hängen Sie zuerst die folgenden Zeilen an Ihre ~/.bashrcDatei an:

##
## INCLUDE CUSTOM `.bashrc` CODE
##
if [ -f ~/.bashrc_custom ]; then
    . ~/.bashrc_custom
fi

Erstellen Sie die benutzerdefinierte Datei:

touch ~/.bashrc_custom`

Zum Schluss öffne es und füge die folgenden Zeilen ein:

# File: $HOME/.bashrc_custom
# THIS FILE IS A USER-CUSTOM BASHRC FILE TO KEEP CLEAN THE DEFAULT ~/.barshrc FILE.
# PUT THERE ANY CUSTOM CODE MANUALLY ADDED BY YOU


# Add a new line at the end of the command prompt
#PS1=${PS1}\\n
PS1=${PS1%?}
PS1=${PS1%?}\n'$ '

Die nächste geöffnete Shell-Sitzung sieht folgendermaßen aus:

user@host:~
$ <your-next-command-will-be-rendered-here>
Rémi B.
quelle
4
Warum empfehlen Sie die Verwendung einer benutzerdefinierten .bashrc-Datei? Ist das nicht genau der Grund, warum .bashrc in Ihrem Home-Verzeichnis existiert? Ich verstehe, dass Sie standardmäßig generierte .bashrc-Dateien verwenden und ändern können. Dies ist jedoch nicht möglich, wenn Sie .bashrc unter anderen Betriebssystemen verwenden möchten, da Sie von der standardmäßigen .bashrc-Datei abhängen und sich möglicherweise anders verhalten, wenn diese nicht identisch ist.
Michal Bernhard