zshまたはbashでエコー出力のフォントプロパティを変更できますか?
私が望むものは次のとおりです。
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行以内の小さな"。
ベストアンサー1
すべてではありませんが、ほとんどの端末エミュレータでは異なるフォントサイズや異なるフォントを設定することはできません。色といくつかのプロパティ(太字、下線、強調表示)のみを設定できます。
Bash(またはzshまたは他のシェル)では、端末を使用できますエスケープシーケンス直接(一部のエキゾチックなターミナルを除くすべてのターミナルは現在xtermのリードに従います)。CSI
はいESC [
、$'\e['
bashで書かれています。属性を変更するためのエスケープシーケンスはですCSI Ps m
。
echo $'\e[32;1mbold red\e[0mplain\e[4munderlined'
Zshには1つあります便利な機能そのような理由で。
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'