MOTDと駆動部品のシェーディング出力が異なります。

MOTDと駆動部品のシェーディング出力が異なります。

コマンド出力に色を付けようとすると、次の違いを理解するのが困難になります。

  • マイコンピュータにログインしてMOTDを表示します。
  • /etc/update-motd.d/で実行部分を実行します。

説明するために、このテストスクリプトを作成しました。

#!/bin/bash
W="\e[0;39m"
R="\e[1;31m"
G="\e[1;32m"
echo -e "This is a test for ${G}GREEN${W} and ${R}RED${W}"
echo -e "Lets highlight some colors aight?" | grep --color 'ight'

直接実行すると、両方の行に色があります。

root@server:/etc/update-motd.d# ./test-file

run-partで実行すると、両方の行に色があります。

root@server:/etc/update-motd.d# run-parts ./

しかし、ログインすると、最初の行だけが着色されます!

grepに色を付けたりデバッグするにはどうすればよいですか?

ベストアンサー1

ログインすると消えますrun-parts /etc/update-motd.d。このようなことがrun-parts頻繁に発生しますが、非対話型、更新します/etc/motd

デフォルトでは、非grep対話型で実行されているときは色は表示されません(適切な理由)。試してみることもgrep --color=alwaysできますねTERM=xterm grep --color=always

使用sudo update-motd(8) 直ちに更新し、/etc/motd更新されたファイルを確認してください。

おすすめ記事