8 nützliche und interessante Bash-Eingaben

Viele Leute halten die Befehlszeilenaufforderung nicht für ein nützliches Element oder schenken ihr nicht einmal viel Aufmerksamkeit. Eine nützliche Eingabeaufforderung kann jedoch die Verwendung der Befehlszeile und damit auch Ihr System ändern. Dieser Artikel zeigt Ihnen eine Reihe nützlicher und interessanter Bash-Eingabeaufforderungen mit Beispielen. Beachten Sie, dass wir mit den Eingabeaufforderungen selbst beginnen und dann einige weitere Anweisungen zum Arbeiten mit ihnen anbieten.

Hier bieten wir ein paar Bash-Eingabeaufforderungen an, und nicht alle werden ernst gemeint sein. Zum Beispiel könnte Ihnen unser erster Eintrag in der Liste ein wenig Freude bereiten, wenn Sie die Kommandozeile verwenden!

1. Bei erfolgreicher Ausführung ein „Kaomoji“ anzeigen

Diese Aufforderung ist amüsant, aber nützlich! Die Idee ist, dass Ihre Eingabeaufforderung ein glückliches Kaomoji anzeigt, solange Sie erfolgreiche Befehle ausführen.

Kaomoji in der Bash-Eingabeaufforderung anzeigen.

Im Gegensatz dazu, wenn ein Befehl fehlschlägt, sehen Sie ein trauriges Kaomoji.

Um dies anzuwenden, verwenden Sie den folgenden Code:

PS1=”`wenn [ $? = 0 ]; dann echo [e[33m]^_^[e[0m]; sonst Echo [e[31m]O_O [e[0m]; fi `[u@h:w]$

Das mag verwirrend aussehen, aber wir verwenden if-Anweisungen, um festzustellen, ob der Befehl gut oder schlecht ist. Von dort aus verwenden wir einige Fluchten um die Kaomoji, um sicherzustellen, dass sie richtig angezeigt werden.

2.Ändern Sie die Farbe der Bash-Eingabeaufforderung, wenn das Terminal einen falschen Befehl ausgibt

Ändern der Aufforderungsfarben.

Diese Eingabeaufforderung ist wohl die nützlichste auf der Liste. Wie oben ändert die Eingabeaufforderung die Farbe, wenn Ihr letzter Befehl nicht ausgeführt wurde, verkürzt jedoch auch lange Pfade und enthält die Bash-Verlaufsnummer jedes Befehls zum einfachen Abrufen.

PROMPT_COMMAND=’PS1=”[33[0;33m][!]`wenn [[ $? = “0” ]]; dann echo “\[\033[32m\]”; sonst echo “\[\033[31m\]”; fi `[u.h: `if [[ `pwd|wc -c|tr -d ” “` > 18 ]]; dann echo “\W”; sonst echo “\w”; fi`]$[33[0m] “; echo -ne “33]0;`Hostname -s`:`pwd`07″‘

Auch dies kann entmutigend aussehen, aber es ist einfach. Wir verwenden erneut if-Anweisungen zusammen mit Farbcodes um verschiedene Nachrichten hervorzuheben.

Sie können diese Farben beliebig gestalten, obwohl wir einige logische Überlegungen anstellen würden, dass die geänderten Farben Ihnen helfen sollten, anstatt nur um einer Änderung willen geändert zu werden.

3. Verteilen Sie Ihre Bash-Eingabeaufforderungen über mehrere Zeilen

Verwenden einer mehrzeiligen Bash-Eingabeaufforderung.

Manchmal möchten Sie vielleicht viele Informationen in Ihre Bash-Eingabeaufforderungen aufnehmen. Wenn dies Sie beschreibt, könnte diese Bash-Eingabeaufforderung Sie interessieren. Es zeigt das Datum, die Uhrzeit, den vollständigen Verzeichnispfad, die Benutzer- und Hostnamen, das aktive Terminal und sogar die Dateianzahl und den Speicherplatzverbrauch an.

PS1=”n[33[35m]$(/bin/date)n[33[32m]wn[33[1;31m]äh: [33[1;34m]$(/usr/bin/tty | /bin/sed -e ‘s:/dev/::’): [33[1;36m]$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed ‘s: ::g’) Dateien [33[1;33m]$(/bin/ls -lah | /bin/grep -m 1 gesamt | /bin/sed ‘s/total //’)b[33[0m] -> [33[0m]”

Hier brauchen wir keine if-Anweisungen, da die Eingabeaufforderung selbst ein statisches Layout hat, aber dennoch dynamischen Inhalt hat. Möglicherweise fällt es Ihnen auch schwer, die verschiedenen Elemente in diesem zu analysieren. Unser Rat ist, es anzuwenden und dann die Aufforderung Stück für Stück durchzugehen. Mit ein wenig Querverweisen werden Sie beginnen zu verstehen, wie die Eingabeaufforderung kombiniert wird.

4. Verwenden Sie Farben, um die Lesbarkeit Ihres Bash-Prompts zu verbessern

Verwenden von lesbaren Farben in der Bash-Eingabeaufforderung.

An dieser Eingabeaufforderung ist nichts Besonderes, außer die gute Verwendung von Farbe, um die verschiedenen Informationen zu trennen. Wie Sie sehen können, werden die Uhrzeit, die Benutzer- und Hostnamen sowie das aktuelle Verzeichnis angezeigt.

PS1 = “[33[35m]t[33[m]-[33[36m] u [33[m]@[33[32m]h:[33[33;1m]w[33[m]$

Dies ist eine der nützlichsten Bash-Eingabeaufforderungen und ein Bereich, in dem Sie sich zuerst umsehen werden, um Ihre Eingabeaufforderung anzupassen. Es kann Ihnen eine gute Grundlage geben, um zu erfahren, wie eine benutzerdefinierte Eingabeaufforderung funktioniert.

5. Zeigen Sie den vollständigen Verzeichnispfad an

Ähnlich wie bei der Verwendung von Farben ist diese Eingabeaufforderung eine saubere und minimale zweizeilige Eingabeaufforderung (obwohl es oben eine leere Zeile gibt).

Zeigt den vollständigen Verzeichnispfad in der Eingabeaufforderung an.

Wir zeigen den vollständigen Arbeitsverzeichnispfad in der ersten Zeile an, gefolgt vom Benutzer unten.

PS1 = “[[33[32m]w][33[0m]n[33[1;36m] u [33[1;33m]-> [33[0m]”

Wenn Sie in der Eingabeaufforderung keine Leerzeile verwenden möchten, können Sie die erste n herausnehmen. Spielen Sie jedoch mit dem Layout und der Formatierung herum, da jedes Terminal-Erlebnis je nach Computer- und Befehlszeileneinstellungen unterschiedlich ist.

6. Anzeigen einer Hintergrundjobanzahl

Dieser zweizeilige Text zeigt Informationen an, die wir noch nicht in unseren Bash-Eingabeaufforderungen verwendet haben. Wir bieten eine laufende Liste von Hintergrundjobs. Dies ist nützlich, wenn Sie Multitasking betreiben, aber alle Aktivitäten im Auge behalten müssen.

Anzeigen einer Hintergrundjobanzahl.

Die erste Zeile enthält den Benutzer- und Hostnamen sowie den Arbeitsverzeichnispfad. In der zweiten Zeile haben wir eine Verlaufsnummer und eine Anzahl der Jobs, die im Hintergrund ausgeführt werden.

PS1 = ‘[e[1;32m]äh:[e[m] [e[1;37m]w[e[m]n[e[1;33m]hist:! [e[0;33m] [e[1;31m]Jobs: j $ [e[m] ‘

Es gibt nicht viel an diesem, obwohl es Ihnen einige dringend benötigte Informationen über die Systemaktivität geben kann. Sie könnten dies sogar in eine komplexere Eingabeaufforderung umwandeln und if-Anweisungen und Farbcodierung hinzufügen, um Sie zu benachrichtigen, wenn ein Job bestimmte Ebenen erreicht.

7. Informationen für das Arbeitsverzeichnis anzeigen

Informationen zum Arbeitsverzeichnis anzeigen.

Mit diesem zeigen wir den Benutzer- und Hostnamen, die Jobanzahl sowie das Datum und die Uhrzeit in der obersten Zeile an. Darunter befindet sich das aktuelle Verzeichnis, zusammen mit der Anzahl der Dateien im Verzeichnis und einigen Informationen zur Festplattennutzung.

PS1=”n[e[30;1m][16]l[17]([e[34;1m]äh[e[30;1m])-([e[34;1m]J[e[30;1m])-([e[34;1m]@ D[e[30;1m])->[e[30;1m]n[16]m[17]-([[e[32;1m]w[e[30;1m])-([e[32;1m]$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed ‘s: ::g’) Dateien, $( /bin/ls -lah | /bin/grep -m 1 gesamt | /bin/sed ‘s/total //’)b[e[30;1m])–> [e[0m]”

Das größte Problem bei all diesen Eingabeaufforderungen besteht darin, herauszufinden, was um die Formatierung und das Escape-Zeichen herum passiert. Wie bei mehrzeiligen Aufforderungen sollten Sie dies jedoch Stück für Stück angehen, bis Sie die Gesamtstruktur verstanden haben.

Sie könnten sogar einen Teil nach dem anderen eingeben und notieren, ob er angezeigt wird oder ob Fehler vorliegen, und bis zum vollständigen Snippet arbeiten.

8. Erstellen Sie Ihre eigenen Bash-Eingabeaufforderungen

Eine benutzerdefinierte Bash-Eingabeaufforderung.

Sie können alle oben genannten Elemente kombinieren, um Ihre eigenen benutzerdefinierten Bash-Eingabeaufforderungen zu erstellen. Dies ist beispielsweise eine Modifikation von Nummer sieben in dieser Liste, die jedoch geändert wurde, um weniger Platz einzunehmen und einige spezifische und relevante Informationen aufzunehmen.

Ein zweizeiliger Stil ist immer kompakter, da Sie den vollständigen Pfad sehen können, ohne den Platz für die verwendeten Befehle zu reduzieren.

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]”

Inzwischen werden Sie wahrscheinlich verstehen, was diese Eingabeaufforderung bewirkt, aber unser Rat ist, zu versuchen, Ihre eigene zu erstellen, anstatt diese einzufügen. Auf diese Weise können Sie lernen, wie die verschiedenen Elemente zusammenarbeiten und möglicherweise sogar auf eine Idee kommen Ihre eigenen benutzerdefinierten Bash-Eingabeaufforderungen.

Häufig gestellte Fragen

1. Warum sollte ich verschiedene Bash-Eingabeaufforderungen verwenden?

Dafür gibt es viele Gründe, aber Produktivität ist ein wichtiger Aspekt. Wenn Sie häufig die Befehlszeile verwenden, wird Ihre Eingabeaufforderung alle paar Sekunden angezeigt. Wenn Sie also die wichtigsten Informationen darin eintragen, haben Sie sie immer zur Hand.

In vielen Fällen ist die Verwendung einer benutzerdefinierten Bash-Eingabeaufforderung effizienter als das Öffnen mehrerer Fenster.

2. Wie füge ich diese Bash-Eingabeaufforderungen zu meiner Terminalausgabe hinzu?

Um eine dieser Eingabeaufforderungen zu verwenden, können Sie den Code kopieren und in Ihre Terminal-App einfügen. Dies gilt jedoch nur für die aktuelle Sitzung, sodass Sie dies theoretisch jedes Mal tun müssen, wenn Sie das Terminal starten.

Wenn Sie die Änderung dauerhaft machen möchten, können Sie die Snippets am Ende Ihrer ~/.bashrc-Datei einfügen und Ihr Terminal neu starten.

3. Würden diese Bash-Eingabeaufforderungen auch mit anderen Shells funktionieren?

In vielen Fällen werden Sie feststellen, dass es eine Kreuzkompatibilität mit anderen Arten von Shells gibt. Es gibt jedoch keine Garantie dafür, dass Änderungen eine 100-prozentige Parität bieten.

Wenn Sie sich unseren Beitrag zum Anpassen des Mac-Terminals ansehen, verwendet dieser zsh. Sie werden feststellen, dass es kleine Unterschiede, aber viele Ähnlichkeiten gibt.

4. Wie finde ich heraus, welche Informationen und Elemente ich zu meinen Bash-Eingabeaufforderungen hinzufügen kann?

So ziemlich jedes Element Ihres Systems kann in einer Bash-Eingabeaufforderung angezeigt werden. Sie sollten sich die Bash-Variablen ansehen, da Sie auf diese Weise diese verschiedenen Elemente „entsperren“.

Eine großartige Ressource, um zu verstehen, was Sie ändern können, finden Sie auf der Linux.com-Website, und wir empfehlen, diese Dokumentation während Ihrer Anpassungssitzungen zur Hand zu haben.

5. Was ist, wenn ich in meinem Terminal keine benutzerdefinierten Bash-Eingabeaufforderungen mehr verwenden möchte?

Die einfache Antwort hier ist, die Konfigurationsdatei zu öffnen und die relevanten Zeilen zu löschen. Sie müssen keine weiteren Befehle ausführen, es kann sich jedoch lohnen, Ihr Terminal neu zu starten, wenn Sie nicht die erwarteten Änderungen sehen.

Einpacken

Wenn Sie die Befehlszeile regelmäßig verwenden oder spezielle Anforderungen beim Starten einer Terminal-App haben, kann es eine gute Idee sein, die Eingabeaufforderung anzupassen. Es erfordert nicht viel Wissen, und in vielen Fällen können Sie die benötigte Eingabeaufforderung von einem anderen Entwickler finden.

Wenn dieser Artikel Ihr Interesse weckt, möchten Sie vielleicht auch weitere nützliche Bash-Eingabeaufforderungen lesen.

Ist dieser Artikel nützlich? ja Nein

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *