GNU/Linux >> Znalost Linux >  >> Linux

Změnit písmo v příkazu Echo?

Je možné změnit atributy fontu výstupu echo v zsh nebo bash?

Co bych chtěl, je něco podobného:

echo -n "This is the font: normal "
echo -n $font=italic "italic,"
echo -n $font=bold "bold,"
echo -n "and"
echo -n $font=small "small".

aby se vytisklo:„Toto je písmo:normální, kurzíva , tučné , ” v řádku textu.

Přijatá odpověď:

Na většině, ne-li na všech emulátorech terminálu, nemůžete nastavit různé velikosti písma nebo různá písma, pouze barvy a několik atributů (tučné, podtržené, výrazné).

V bash (nebo v zsh nebo jakémkoli jiném shellu) můžete přímo použít terminálové escape sekvence (kromě několika exotických se všechny terminály v dnešní době řídí vzorem xterm). CSI je ESC [ , napsané $'\e[' v bash. Escape sekvence pro změnu atributů je CSI Ps m .

echo $'\e[32;1mbold red\e[0mplain\e[4munderlined'

Zsh má k tomu pohodlnou funkci.

autoload -U colors
colors
echo $bold_color$fg[red]bold red${reset_color}plain$'\e'$color[underline]munderlined

Nebo to můžete udělat jako součást okamžitého rozšíření , také pomocí print -P , nebo % příznak rozšíření parametrů :

print -P '%F{red}%Bbold%b red%f %Uunderline%u'

Linux
  1. Skript Shell visí na příkazu Mail?

  2. Příklady příkazů echo v Linuxu

  3. echo:příkaz nenalezen

  1. Změnit písmo konzoly v textovém režimu?

  2. Linuxový příkaz echo

  3. Změňte heslo programově

  1. Jak změnit heslo v Linuxu (příkaz passwd)

  2. Příkaz přejmenovat Linux

  3. Příklady příkazů chown v Linuxu