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

時計を使用しているときにGitの色が表示されないのはなぜですか?

git status -sbを実行している場合 なるほど:

watch (procps-ng 3.3.3から)リポジトリ。 --color オプションは色を維持することになっています。

興味深いことに、lsで動作します :

$ watch --color "ls --color"

表示中:

ただし、gitの場合 色が消えます:

$ watch --color "git status -sb"

では、なぜwatch lsの色を表示する ただし、gitからではありません 出力?

承認された回答:

次の記述は正しいです:

  • watch 新しいシェルshでコマンドを実行します 。
  • .bashrc エイリアスls as ls --color=auto 色を有効にします。
  • sh bashを継承または使用しません エイリアス。

したがって、watch lsを実行します 、色を要求するのではなく、単純な古いバージョンを実行しているだけです。これを回避することはできますが、adityaが指摘しているように、watchで色を有効にする必要もあります。 それらを適切に処理するために。

lsの実例 は:

watch --color -- ls --color=always

--colorを渡さない場合 見ると、たくさんの醜いカラーコードがインラインで表示されます。

ls --color ls --color=alwaysとして解釈されます 。

ls --color=auto しません 時計の色を印刷します。これは、端末自体からカラーサポートを推測していることを示しています。

理由の詳細については、時計のシェルが実際の端末であると見なすかどうかをテストできます。

$ bash -c '[[ -t 1 ]] && echo "real terminal"'
real terminal

$ watch -- "bash -c '[[ -t 1 ]] && echo "real terminal"'"
# ... nothing.

一部のアプリケーションは、色をオンにする必要があるかどうかを判断するために、それ(または同様のもの)を調べていると思われます。


Ubuntu
  1. スイッチを使用するとUbuntuでインターネットが遅くなる

  2. gnome-keyring を Sudo として Git 認証情報ヘルパーを使用するとエラーが発生する

  3. git の使用時にユーザー名のプロンプトをスキップする

  1. Vlcを使用しているときに、スクリーンセーバーが起動し続けるのはなぜですか?

  2. cd 使用時の / の使用

  3. innodb_file_per_table を使用する理由

  1. Gitオートコンプリート?

  2. 引用符を使用すると、なぜ単一の円記号が表示されるのですか?

  3. バックグラウンドプロセスの出力を確認できるのはなぜですか?