it-swarm.com.de

Fantastische Symbole und Zeichen in einer Bash-Eingabeaufforderung

Ich bin gerade auf einen Screenshot eines Terminals gestoßen:

Screenshot of a session showing a Prompt with an asterisk and arrow

Gibt es eine Liste aller Zeichen, die in einer Bash-Eingabeaufforderung verwendet werden können, oder kann mir jemand das Zeichen für den Stern und den Rechtspfeil geben?

85
Naftuli Kay

Sie können jedes druckbare Zeichen verwenden, Bash macht das nichts aus. Möglicherweise möchten Sie Ihr Terminal so konfigurieren, dass es nicode (in Form von TF-8 ) unterstützt.

Unicode enthält viele Zeichen. Hier sind einige Tipps, die Ihnen beim Durchsuchen der Unicode-Diagramme helfen sollen:

  • Sie können versuchen, den Charakter auf Shapecatcher zu zeichnen. Es wird versucht, ein Unicode-Zeichen in dem zu erkennen, was Sie zeichnen.
  • Sie können versuchen herauszufinden, in welchem ​​Block sich das Zeichen befindet. Zum Beispiel würden sich dieses seltsam aussehende Symbol und dieser Stern in einem Block verschiedener Symbole befinden. Zeichen wie Ǫ und ı sind lateinische Buchstaben mit Modifikatoren; Ist ein mathematisches Symbol und so weiter.
  • Sie können versuchen, in der Beschreibung des Zeichens an ein Wort zu denken und es in einer Liste von Unicode-Symbolnamen und -beschreibungen zu suchen. Gucharmap oder Kcharselect kann helfen.

P.S. Auf Shapecatcher bekam ich + 2234 DAHER für , + 2192 RECHTSPFEIL für , + 263F MERCURY für Und + 2605 BLACK STAR für .

In einem Bash-Skript können Sie bis zu Bash 4.1 ein Byte anhand seines Codepunkts schreiben, jedoch kein Zeichen. Wenn Sie Nicht-ASCII-Zeichen vermeiden möchten, um Ihr .bashrc Für Änderungen der Dateicodierung widerstandsfähig zu machen, müssen Sie die diesen Zeichen entsprechenden Bytes in die UTF-8-Codierung eingeben. Sie können die hexadezimalen Werte anzeigen, indem Sie echo ∴ → ☿ ★ | hexdump -C In einem UTF-8-Terminal ausführen, z. Wird in UTF-8 von \xe2\x88\xb4 Codiert.

if [[ $LC_CTYPE =~ '\.[Uu][Tt][Ff]-?8' ]]; then
  PS1=$'\\[\e[31m\\]\xe2\x88\xb4\\[\e[0m\\]\n\xe2\x86\x92 \xe2\x98\xbf \\~ \\[\e[31m\\]\xe2\x98\x85 $? \\[\e[0m\\]'
fi

Seit Bash 4.2 können Sie \u Verwenden, gefolgt von 4 hexadezimalen Ziffern in einer $'…' - Zeichenfolge.

  PS1=$'\\[\e[31m\\]\u2234\\[\e[0m\\]\n\u2192 \u263f \\~ \\[\e[31m\\]\u2605 $? \\[\e[0m\\]'

Sie finden die Unicode-Symbole auf vielen Websites, wie dieser: http://panmental.de/symbols/info.htm

Sie müssen nur sicherstellen, dass Ihr Begriff UTF-8 unterstützt .

12
jasonwryan

ich benutze diese Tools gerne - sie haben eine schöne Erfahrung und es ist einfach zu durchsuchen:

4
Eliran Malka