Wenn Sie die Befehlszeile verwenden, wird es oft sehr unübersichtlich. Dies macht es unpraktisch, beispielsweise frühere Befehle und deren Ausgaben zu untersuchen.
Ich möchte jedes Mal eine neue Zeile hinzufügen, bevor die Eingabeaufforderung angezeigt wird. Wie so:
<clutter>
<blank line>
name@machine:~$
Ich benutze die Bash-Shell. Wie kann dies erreicht werden?
bash
command-line
Faultiere
quelle
quelle
Antworten:
Eine Möglichkeit, dies zu erreichen, besteht darin, die
.bashrc
Datei zu ändern . Platzieren Sie einfach Folgendes am Ende der.bashrc
Datei.Um zu erklären, wie dies funktioniert, enthält
PS1
die Variable, was als Eingabeaufforderung angezeigt werden soll. Alles, was dies sagt, ist "PS1
auf den vorherigen Inhalt von gesetztPS1
, mit einem vorangestellten Zeilenumbruchzeichen". Wenn Sie es in die.bashrc
meisten Distributionen einfügen, wird es von bash jedes Mal ausgeführt, wenn Sie eine interaktive Shell öffnen (aber keine Login-Shell - siehe Unterschied zwischen Login-Shell und Nicht-Login-Shell? ).quelle
PS1="\n$PS1"
in einem Terminal sofortige Wirkung hat :)clear
(oder DrückenCtrl+l
) die erste angezeigte Zeile eine leere Zeile ist. Für einige mag es ein kleines Detail sein, aber ich würde es vorziehen, wenn die erste Zeile die Eingabeaufforderung ist.Sie können PROMPT_COMMAND verwenden :
oder:
quelle
PROMPT_COMMAND="printf '\n';$PROMPT_COMMAND"
? In seiner jetzigen Form scheint es nichts zu tun, wenn ich es in die.bashrc
Datei lege.printf
undecho
sind natürlich sehr leicht, aber es macht immer noch keinen Sinn zu verwenden,PROMPT_COMMAND
wannPS1
die Arbeit erledigt wird.Alternative: Hinterlassen Sie eine Zeile in der
PS1=
Eingabeaufforderung Ihres.bashrc
. Hier ist buchstäblich, wie ich mich.bashrc
auf jedem Linux-Rechner einrichte, den ich habe:Wie Sie in meinem obigen Beispiel sehen, ist der Benutzername in der Eingabeaufforderung fest codiert. Sie können natürlich Escape-Sequenzen verwenden, die bash oder eine andere Shell (z. B. ksh ) bereitstellt. Eine etwas neutralere Option wäre jedoch die Verwendung der Parametersubstitution durch Befehle wie
whoami
(Geben Sie Ihren Benutzernamen an) undhostname
(offensichtlich wird der Hostname gemeldet ). Zum Beispiel:Weitere lustige Dinge mit der Eingabeaufforderung
.bashrc
und Parametererweiterungen finden Sie in meinen Antworten hier:Wie überprüfe ich den Batteriestatus mit dem Terminal?
Wie kann ich meine Terminals / Shells dazu bringen, kundenspezifische Designs zu erhalten? und
Wie wird eine laufende Uhr im Terminal vor der Eingabeaufforderung angezeigt?
quelle
$(whoami)
stattusernamehardcoded
\u
und\h
für Ihren Benutzernamen bzw. Hostnamen verwenden können. Sie können mehr Sonderzeichen (zum Beispiel die aktuelle Zeit in verschiedenen Formaten) hier sehen