So ändern Sie die Bash -Eingabeaufforderung
- 2454
- 4
- Susanne Stoutjesdijk
Die "Bash -Eingabeaufforderung" auf der Befehlszeilenschnittstelle ist das Textbit, das Ihren Befehlen vorausgeht. Es ist normalerweise der Benutzername, der vom Hostnamen der meisten Systeme gefolgt ist, sodass die Syntax so aussehen könnte user@linuxconfig $
Zum Beispiel. Es genügt zu sagen, dass die Standard -Bash -Befehlszeile für viele Linux -Systeme ziemlich minimal ist.
Wie wir in diesem Artikel sehen werden, kann es leicht geändert werden, indem die Bash geändert wird Ps n
Variablen, und wir können Informationen wie Anzeigezeit, Lade, Anzahl von Benutzern mit dem System, der Verfügbarkeit und mehr aufnehmen. In diesem Tutorial sehen Sie, wie Sie Ihre Bash -Eingabeaufforderung mit Farben und zusätzlichen Informationen auf einem Linux -System aufbauen können.
In diesem Tutorial lernen Sie:
- Was sind PS1- und PS2 -Shell -Variablen
- So erstellen Sie benutzerdefinierte Shell -Eingabeaufforderungen
- Mit welchen Zeichen können wir eine Shell -Eingabeaufforderung anpassen?
Kategorie | Anforderungen, Konventionen oder Softwareversion verwendet |
---|---|
System | Jede Linux -Distribution |
Software | Bash Shell |
Andere | Minimale Kenntnis der Bash -Hülle. Privilegierter Zugriff auf Ihr Linux -System als Root oder über die sudo Befehl. |
Konventionen | # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können |
Bash -Eingabeaufforderung Variablen
Genau wie alles andere auf einem Linux -System kann auch die Bash -Eingabeaufforderung angepasst werden. Wir können die Aufgabe erfüllen, indem wir die Werte von Bash ändern
PS1
, PS2
, PS3
, Und PS4
Variablen. Um die Dinge einfach zu halten, wird sich dieser Artikel nur mit den ersten beiden befassen. Verwenden Sie das Echo
Befehl, um ihre aktuellen Werte zu sehen: $ echo "Bash PS1 Variable:" $ ps1 $ echo "Bash PS2 Variable:" $ PS2PS1 und PS2 Bash -Eingabeaufforderung
PS1 -Eingabeaufforderung Variable verprügeln
PS1
ist die primäre Eingabeaufforderungsvariable. Unsere ist derzeit:
\ [\ e] 0; \ u@\ h: \ w \ a \] $ debian_chroot:+($ debian_chroot) \ [\ 033 [01; 32m \] \ u@\ h \ [\ 033 [00m) \]: \ [\ 033 [01; 34m \] \ W \ [\ 033 [00m \] \ $
Dies sieht ein wenig verwirrend aus, da viele davon die Farben, die Sie im obigen Screenshot sehen. Das Mitnehmen hier ist die Verwendung der speziellen Bash -Charaktere \ u
(Benutzer), \H
(Hostname) und \ w
(aktuelles Arbeitsverzeichnis). Diese Arten von Zeichen ermöglichen es uns, benutzerdefinierte Informationen anzuzeigen, die sich unter den Umständen in der Bash -Eingabeaufforderung ändern. Weitere von ihnen werden unten abgedeckt.
PS2 -Eingabeaufforderung Variable verprügeln
PS2
Die Bash -Shell -Variable ist die sekundäre Eingabeaufforderung und wird normalerweise auf >
. Diese Eingabeaufforderung wird angezeigt, wenn die Shell auf eine Benutzereingabe wartet, beispielsweise wenn Sie Anführungszeichen verwenden und vergessen, sie zu schließen.
$ echo "Text mit fehlenden Zitaten>Linux Bash -Eingabeaufforderung Diagramm
Bash fordere Sonderzeichen verprügeln
Die Bash -Eingabeaufforderung kann mithilfe von Sonderzeichen angepasst werden. Hier ist ein kurzer Überblick über die am häufigsten verwendeten Zeichen und ihre Bedeutung:
Spezialcharakter verprügeln | Erklärung des besonderen Charakters | Spezialcharakter verprügeln | Erklärung des besonderen Charakters |
---|---|---|---|
\A | ein ASCII -Bell -Charakter (07) | \D | Das Datum im Format „Wochentage Monatsdatum“ (e.G., "Di 26. Mai") |
\] | Beenden Sie eine Abfolge nicht druckender Zeichen | \ e | ein ASCII -Fluchtcharakter (033) |
\H | Der Hostname bis zum ersten '.'' | \H | der Hostname |
\J | Die Anzahl der derzeit von der Shell verwalteten Jobs | \ l | Der Grundname des Klemmegerätenamens der Shell |
\N | Neue Zeile | \R | Wagenrückgabe |
\S | Der Name der Schale, der Grundname von 0 $ (der Teil nach dem Finale Schrägstrich) | \T | Die aktuelle Zeit im 24-Stunden-HH: MM: SS-Format |
\T | Die aktuelle Zeit im 12-Stunden-HH: MM: SS-Format | \@ | Die aktuelle Zeit im 12-Stunden-Format/PM-Format |
\A | Die aktuelle Zeit im 24-Stunden-HH: MM-Format | \ u | der Benutzername des aktuellen Benutzer |
\ v | Die Version von Bash (e.G., 2.00) | \ V | Die Veröffentlichung von Bash, Version + Patchelvel (e).G., 2.00.0) |
\ w | das aktuelle Arbeitsverzeichnis | \ W | Der Grundname des aktuellen Arbeitsverzeichnisses |
\! | Die Geschichte dieses Befehls | \# | Die Befehlsnummer dieses Befehls |
\ $ | Wenn die effektive UID 0 ist, eine #, sonst ein $ | \ nnn | das Charakter, der der Oktalzahl nnn entspricht |
\\ | ein Backslash | \ [ | Beginnen Sie eine Abfolge nicht druckender Zeichen, die zum Einbetten von a verwendet werden könnten Terminalkontrollsequenz in die Eingabeaufforderung |
\ D Format | Das Format wird an Strftime (3) übergeben und das Ergebnis eingefügt in die schnelle Zeichenfolge; Ein leeres Format führt zu einer landschemaspezifischen Zeit Darstellung. Die Zahnspangen sind erforderlich |
Schälen Sie die Anpassung der Eingabeaufforderung an
Nachdem sich ein Benutzer in das System anmeldet, werden die Variablen für die Benutzerumgebung aus verschiedenen Dateien initialisiert:
/etc/Profil
oder/etc/bashrc
(System breit)~/.bash_profile
,~/.Bash_login
,~/.Profil
,~/.bashrc
oder~/.Bash_logout
(Benutzerspezifisch)
Es ist wichtig zu wissen, dass alle Benutzerumgebungsvariablen eine Lebensdauer haben. Wenn die Terminalsitzung geschlossen ist.
In den folgenden Abschnitten definieren wir zwei Variablen, um diese Aussage zu beweisen.
Anpassen der Bash -Variablen Schritt für Schritt Anweisungen
Wir werden jetzt die bearbeiten ~/.bashrc
Konfigurationsdatei zum Anzeigen einer benutzerdefinierten Bash -Eingabeaufforderung. Wie oben erwähnt, müssen wir uns an unserer aktuellen Terminalsitzung abmelden und wieder anmelden, um die Änderungen zu bemerken, die wirksam werden, oder einfach die verwenden Quelle
Befehl wie unten gezeigt.
- Verwenden Sie Nano oder einen anderen Texteditor, um die zu bearbeiten
~/.bashrc
Datei. Alternativ können wirEcho
Die neuen Shell -Eingabeaufforderungeinstellungen in die Datei.$ echo "ps1 = 'Meine neue Bash -Eingabeaufforderung@\\ t: \\ w \\ $'" >> ~/.bashrc
- Lassen Sie die Änderungen mit den folgenden wirken
Quelle
Befehl.$ source ~/.bashrc
- Sie sollten jetzt die neue Eingabeaufforderung sehen:
Meine neue Bash -Eingabeaufforderung@16: 42: 58: ~ $
Customized Bash Eingabeaufforderung unter Linux
Wechseln Sie Vordergrund- und Hintergrund -Bash -Schnellfarben
In der folgenden Tabelle finden Sie verschiedene Farben, mit denen die Bash -Shell -Eingabeaufforderung und den Vordergrund geändert wurde:
Farbe | Vordergrundnummer | Hintergrundnummer |
---|---|---|
Schwarz | 30 | 40 |
Rot | 31 | 41 |
Grün | 32 | 42 |
Braun | 33 | 43 |
Blau | 34 | 44 |
Lila | 35 | 45 |
Cyan | 36 | 46 |
Hellgrau | 37 | 47 |
Um die Farbe Ihrer Bash -Eingabeaufforderung zu ändern, wird die folgende Syntax verwendet:
exportieren ps1 = '\ [\ e [FARBCODEM \] [Beispiel] \ [\ e [0m \] $ '
\ e [
= Markiert den Beginn eines FarbmodsColorm
= Die gewünschte Farbnummer, gefolgt vonM
\ e [0m
= Markiert das Ende eines Farbmods
Einige Beispiele, die diese Syntax verwenden, können unten angezeigt werden.
Einheitliche Beispiele verprügeln
- Eine rote Bash -Eingabeaufforderung:
exportieren ps1 = "\ e [31m [Beispiel] \ e [0m $"
- Eine lila Bash -Eingabeaufforderung:
Exportieren Sie PS1 = "\ e [35M [Beispiel] \ E [0M $"
Verschiedene Beispiele für Bash -Eingabeaufforderung unter Linux. Passen Sie nach Bedarf an, um Ihren Anforderungen zu entsprechen - Zeigen Sie die aktuelle Zeit in der Bash -Eingabeaufforderung an:
Exportieren Sie ps1 = "\ u@\ h \ t: \ $"
- Diese Bash -Eingabeaufforderung zeigt die aktuelle Anzahl von Dateien und Verzeichnissen im aktuellen Verzeichnis an.
exportieren ps1 = "\ u@\ h [\ $ (ls | wc -l)]: \ $"
Gedanken schließen
In diesem Tutorial haben wir gesehen. Dies kann nicht nur dazu führen, dass unser Befehlszeilenterminal viel besser aussieht, sondern wir können auch Bashs Sonderzeichen verwenden, um viele nützliche Informationen anzuzeigen. Sie können einige unserer Beispiele an Ihre eigenen Bedürfnisse anpassen, damit Sie gleichzeitig eine gut aussehende Bash -Eingabeaufforderung mit einigen hilfreichen Informationen erhalten können.
Verwandte Linux -Tutorials:
- So verwenden Sie den Befehl Uptime unter Linux
- Wie oft müssen Sie Ihren Linux -Server neu starten??
- Dinge zu installieren auf Ubuntu 20.04
- Eine Einführung in Linux -Automatisierung, Tools und Techniken
- Mastering -Bash -Skriptschleifen beherrschen
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- Mint 20: Besser als Ubuntu und Microsoft Windows?
- Hung Linux System? Wie man zur Befehlszeile entkommt und…
- Grundlegende Linux -Befehle
- So ändern Sie Hostname unter Linux
- « Einführung in Funktionen höherer Ordnung in JavaScript
- Einführung in die eBay -API mit Python, die Schlüssel erhält und auf die Sandbox zugreift - Teil 1 »