スクリプトを使用したカラーテキストの印刷

スクリプトを使用したカラーテキストの印刷

シェルに次のコマンドを入力すると、緑色の出力が表示されます。

注文する

echo "\033[32mCONNECTING TO abpwrk\033[m";

出力(緑)

CONNECTING TO abpwrk

しかし、小さな一行スクリプトで同じステートメントを使用して実行した場合。次に出力(白)を取得します。

\033[32mCONNECTING TO abpwrk\033[m

スクリプトで私が逃したものは何ですか?色を有効にするには、いくつかの追加パラメータを定義する必要がありますか? k-shellを使用しています。

ベストアンサー1

異なる実装で異なるシェルを使用している可能性がありますecho。少なくともbashecho実装では、エスケープシーケンス解析はデフォルトで有効になっていません(スイッチを使用して有効にする必要があります-e)。

それにもかかわらず、printf環境は通常、環境間でより一貫しています。代わりに、以下を試してください。

_host=abpwrk ; printf '\033[32mCONNECTING TO %s\033[m\n' "$_host"

おすすめ記事