シェルに次のコマンドを入力すると、緑色の出力が表示されます。
注文する
echo "\033[32mCONNECTING TO abpwrk\033[m";
出力(緑)
CONNECTING TO abpwrk
しかし、小さな一行スクリプトで同じステートメントを使用して実行した場合。次に出力(白)を取得します。
\033[32mCONNECTING TO abpwrk\033[m
スクリプトで私が逃したものは何ですか?色を有効にするには、いくつかの追加パラメータを定義する必要がありますか? k-shellを使用しています。
答え1
異なる実装で異なるシェルを使用している可能性がありますecho
。少なくともbash
echo実装では、エスケープシーケンス解析はデフォルトで有効になっていません(スイッチを使用して有効にする必要があります-e
)。
それにもかかわらず、printf
環境は通常、環境間でより一貫しています。代わりに、以下を試してください。
_host=abpwrk ; printf '\033[32mCONNECTING TO %s\033[m\n' "$_host"