it-swarm-eu.dev

Úžasné symboly a znaky v bash řádku

Právě jsem narazil na snímek něčího terminálu:

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

Existuje seznam všech postav, které lze použít v Bash Prompt, nebo mi může někdo získat postavu pro hvězdu a pravou šipku?

85
Naftuli Kay

Můžete použít jakýkoli tisknutelný znak, basu nevadí. Pravděpodobně budete chtít nakonfigurovat svůj terminál tak, aby podporoval nicode (ve formě TF-8 ).

V Unicode je mnoho znaků, takže zde je několik tipů, které vám pomohou hledat v tabulkách Unicode:

  • Můžete zkusit nakreslit znak na Shapecatcher . Pokouší se rozpoznat znak Unicode v tom, co kreslíte.
  • Můžete se pokusit přijít na to, v kterém bloku je postava. Například ten podivně vypadající symbol a ta hvězda by byla v bloku různých symbolů; znaky jako Ǫ a ı jsou latinská písmena s modifikátory; je matematický symbol atd.
  • Můžete se pokusit vymyslet slovo v popisu znaku a vyhledat jej v seznamu názvů a popisů symbolů unicode. Gucharmap nebo Kcharselect může pomoci.

P.S. Na Shapecatcher jsem dostal + 2234 THEREFORE pro , + 2192 ŠIPKA VPRAVO pro , + 263F MERCURY pro a + 2605 BLACK STAR pro .

V bash skriptu, až do bash 4.1, můžete psát bajt podle jeho kódového bodu, ale nikoli znaku. Pokud se chcete vyhnout znakům jiných než ASCII, aby si vytvořili .bashrc odolné vůči změnám kódování souborů, budete muset do kódování UTF-8 zadat bajty odpovídající těmto znakům. Hexidimální hodnoty můžete vidět spuštěním echo ∴ → ☿ ★ | hexdump -C v terminálu UTF-8, např. je kódováno \xe2\x88\xb4 v UTF-8.

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

Od bash 4.2 můžete použít \u následované 4 hexadecimálními číslicemi v $'…' tětiva.

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

Symboly unicode najdete na mnoha webech, jako je tento: http://panmental.de/symbols/info.htm

Musíte se jen ujistit, že váš termín podporuje UTF-8 .

12
jasonwryan

líbí se mi používání těchto nástrojů - mají pěkný zážitek a je snadné je vyhledat prostřednictvím:

4
Eliran Malka