GNU/Linux >> Linux の 問題 >  >> Linux

エコーコマンドでフォントを変更しますか?

zshまたはbashのいずれかでechoの出力のフォント属性を変更することは可能ですか?

私が欲しいのは次のようなものです:

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".

「これはフォントです:通常、斜体太字 」を1行のテキスト内に表示します。

承認された回答:

すべてではないにしてもほとんどのターミナルエミュレータでは、異なるフォントサイズや異なるフォントを設定することはできず、色といくつかの属性(太字、下線付き、目立つ)のみを設定できます。

bash(またはzshやその他のシェル)では、ターミナルエスケープシーケンスを直接使用できます(いくつかのエキゾチックなものを除いて、すべてのターミナルは最近xtermのリードに従います)。 CSI ESC [です 、$'\e['と書かれています bashで。属性を変更するためのエスケープシーケンスは、CSI Ps mです。 。

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

Zshにはそのための便利な機能があります。

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

または、プロンプト拡張の一部として実行できます 、print -Pでも実行 、または% パラメータ拡張フラグ

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

Linux
  1. Linuxでパスワードを変更する方法(passwdコマンド)

  2. Linuxエコーコマンド

  3. Linuxの名前変更コマンド

  1. テキストモードコンソールのフォントを変更しますか?

  2. Linux での echo コマンドの例

  3. プログラムによるパスワードの変更

  1. シェルスクリプトがメールコマンドでハングアップしますか?

  2. Linux での chown コマンドの例

  3. エコー:コマンドが見つかりません