これにより、git status --short
gitは2つの赤い疑問符の前に追跡されていないファイルを一覧表示します。
変数に保存してから、後でカラーで印刷しようとしています。これは私のbashスクリプトです。
#!/bin/bash
status=$(git status --short)
echo -e "$status"
-e
このフラグはbashが出力に色を付けると思いましたが、うまくいきません。
どうすればいいですか?
編集:可能な冗長性は、エスケープ文字(特にANSIカラーコントロールシーケンス)がどのように機能するかを尋ねることです。私は彼らがどのように機能するのか理解していると思います。私の質問は、スクリプト出力でこれを保存する方法です。
答え1
デフォルトでは、色を生成するほとんどのプログラムは、パイプやファイルではなく端末に出力するときにのみ色を生成します。 一般的に言えば、これは良いことです。 ただし、通常はオーバーライドスイッチがあります。たとえば、色をシェル変数に保存できますls
。--color=always
たとえば、
grep
この--colors=always
オプションもサポートされます。
gitの場合、そのオプションはcolor.ui
構成設定です。
git -c color.ui=always status