8 nützliche und interessante Bash Prompts
Viele Menschen halten ihre Eingabeaufforderung nicht für besonders nützlich oder achten sogar sehr darauf. Für mich ist das eine Schande, da eine nützliche Eingabeaufforderung die Art und Weise ändern kann, wie Sie die Befehlszeile verwenden. Nun, ich habe die Interwebs auf der Suche nach den besten, nützlichsten oder manchmal amüsantesten Bash-Prompts durchforstet. Hier, in keiner bestimmten Reihenfolge, sind diejenigen, die ich am wahrscheinlichsten auf meinen Computern verwenden würde.
Hinweis - Um eine dieser Eingabeaufforderungen zu verwenden, können Sie die Zeile "PS1 =" direkt in Ihr Terminal kopieren und einfügen. Um die Änderung dauerhaft zu machen, fügen Sie die Zeile am Ende Ihrer ~ / .bashrc- Datei ein.
1. Zeige Happy face bei erfolgreicher Ausführung
Diese Aufforderung ist wahrscheinlich die amüsanteste auf der Liste, bleibt aber nützlich. Die Idee ist, dass Ihre Eingabe ein glückliches Gesicht zeigt, solange Ihre Befehle erfolgreich ausgeführt werden. Jedes Mal, wenn ein Befehl fehlschlägt, zeigt er stattdessen ein trauriges Gesicht.
Beispiel:
Code:
PS1 = "\ if [\ $? = 0]; dann echo \ [\ e [33m \] ^ _ ^ \ [\ e [0m \]; sonst echo \ [\ e [31m \] O_O \ [\ e [0m \]; fi \ `[\ u \ \ h: \ w] \\ $"
2. Ändern Sie die Farbe bei schlechtem Befehl
Hier ist einer meiner Favoriten. Diese Aufforderung hat alles. Wie oben erwähnt, ändert die Eingabeaufforderung die Farbe, wenn der letzte Befehl nicht erfolgreich ausgeführt wurde, verkürzt jedoch auch lange Pfade und enthält die Bash-Verlaufsnummer jedes Befehls zum einfachen Abrufen.
Beispiel:
Code:
PROMPT_COMMAND = 'PS1 = "\ [\ 033 [0; 33m \] [\!] \' If [[\ $? =" 0 "]]; dann echo" \\ [\\ 033 [32m \\] " ; else echo "\\ [\\ 033 [31m \\]"; fi \ `[\ u. \ h: \ 'if [[` pwd | wc -c | tr -d ""> 18]]; dann echo "\\ W"; sonst echo "\\ w"; fi \ `] \ $ \ [\ 033 [0m \" "; echo -ne "\ 033] 0;` hostname -s`: `pwd` \ 007 ''
3. Mehrzeilige Eingabeaufforderung
Wenn Sie der Typ sind, der Ihre Eingabeaufforderung mit Informationen füllen möchte, dann ist hier die für Sie. Dies ist eine Eingabeaufforderung mit mehreren Zeilen, die Datum / Uhrzeit, vollständigen Pfad, Benutzer und Host, aktives Terminal, Anzahl der Dateien und Speicherplatzbelegung enthält.
Beispiel:
Code:
PS1 = "\ n \ [\ 033 [35m \] \ $ (/ bin / Datum) \ n \ [\ 033 [32m \] \ w \ n \ [\ 033 [1; 31m \] \ u \ \ h : \ [\ 033 [1; 34m \] \ $ (/ usr / bin / tty | / bin / sed -e 's: / dev / ::'): \ [\ 033 [1; 36m \] \ $ (/ bin / ls -1 | / usr / bin / wc -l | / bin / sed 's: :: g') Dateien \ [\ 033 [1; 33m \] \ $ (/ bin / ls -lah | / bin / grep -m 1 gesamt | / bin / sed 's / total //') b \ [\ 033 [0m \] -> \ [\ 033 [0m \ "
4. Farbe verwalten Sie Ihre Eingabeaufforderung
An dieser Aufforderung gibt es nichts besonders Besonderes, außer der guten Verwendung von Farbe, um die verschiedenen Informationen voneinander zu trennen. Wie Sie sehen können, gibt es Zeit, Benutzername, Hostname und aktuelles Verzeichnis. Ziemlich minimal, aber nützlich.
Beispiel:
Code:
PS1 = "\ [\ 033 [35m \] \ t \ [\ 033 [m \] - \ [\ 033 [36m \] \ u \ [\ 033 [m \] @ \ [\ 033 [32m \] \ h: \ [\ 033 [33; 1m \] \ w \ [\ 033 [m \] \ $ "
5. Zeigen Sie den vollständigen Pfad an
Dies ist eine nette, saubere, minimale 2-Zeilen-Eingabeaufforderung (plus eine leere Zeile an der Spitze). Du hast deinen vollständigen Pfad in der ersten Zeile und ziemlich genau den Benutzernamen unten. Wenn Sie die Leerzeile zu Beginn jeder Eingabeaufforderung entfernen möchten, nehmen Sie einfach das erste "\ n" heraus.
Beispiel:
Code:
PS1 = "[\ [\ 033 [32m \] \ w] \ [\ 033 [0m \] \ n \ [\ 033 [1; 36m \] \ u \ [\ 033 [1; 33m \] -> \ [033]
6. Zeigen Sie die Anzahl der Hintergrundjobs an
Ein weiterer raffinierter 2-Liner, aber dieser hat einige Informationen, die wir vorher noch nicht benutzt haben. Die erste Zeile ist der normale Benutzer @ Host mit vollständigem Pfad. In der zweiten Zeile haben wir die Verlaufsnummer und die Anzahl der Jobs, die im Hintergrund laufen.
Beispiel:
Code:
PS1 = '\ [\ e [1; 32m \] \ u @ \ H: \ [\ e [m \] \ [\ e [1; 37m \] \ w \ [\ e [m \] \ n \ [\ e [1; 33m \] hist: \! \ [\ e [0; 33m \] \ [\ e [1; 31m \] Jobs: \ j \ $ \ [\ e [m \] '
7. Zeigen Sie Verzeichnisinformationen an
Ein sehr elegantes und gut aussehendes promptes Design. Mit dieser haben wir Benutzer / Host, Anzahl der Jobs und Datum / Uhrzeit in der obersten Zeile. Darunter befindet sich das aktuelle Verzeichnis mit der Anzahl der Dateien in diesem Verzeichnis und deren Festplattennutzung.
Beispiel:
Code:
PS1 = "\ n \ [\ e [30; 1m \] \ [\ 016 \] l \ [\ 017 \] (\ [\ e [34; 1m \] \ u \ \ h \ [\ e [30 ; 1m \]) - (\ [\ e [34; 1m \] \ j \ [\ e [30; 1m \]) - (\ [\ e [34; 1m \] \ @ \ d \ [\ e [30; 1m \]) -> \ [\ e [30; 1m \] \ n \ [\ 016 \] m \ [\ 017 \] - (\ [\ [\ e [32; 1m \] \ w \ [\ e [30; 1m \]) - (\ [\ e [32; 1m \] \ $ (/ bin / ls-1 | / usr / bin / wc -l | / bin / seds:: : g ') Dateien, \ $ (/ bin / ls -lah | / bin / grep -m 1 gesamt | / bin / sed' s / total // ') b \ [\ e [30; 1m \]) - -> \ [\ e [0m \ ""
8. Meine Eingabeaufforderung
Und schließlich die Prompt, die ich persönlich gerne benutze. Es ist eine Modifikation von # 7, geändert, um weniger Speicherplatz zu belegen und nur die Informationen aufzunehmen, die ich am meisten benötige. Ich mag den Zwei-Zeilen-Stil, da er mir den vollen Pfad anzeigt, ohne den Platz für meine eigentlichen Befehle zu reduzieren.
Beispiel:
Code:
PS1 = "\ n \ [\ e [32; 1m \] (\ [\ e [37; 1m \] \ u \ [\ e [32; 1m \]) - (\ [\ e [37; 1m \ ] jobs: \ j \ [\ e [32; 1m \]) - (\ [\ e [37; 1m \] \ w \ [\ e [32; 1m \]) \ n (\ [\ [\ e [37; 1m \]! \! \ [\ E [32; 1m \]) -> \ [\ e [0m \ ""
Wenn Sie Ihre Eingabeaufforderung teilen möchten, tun Sie dies bitte in den Kommentaren unten.