マイ(メイクファイルベース)システム出力に診断のかなりの量を構築し、(好ましくはtput setaf
とtput sgr0
を使用して)this questionで説明したように、私は、それらを色付けしたいです。カスタム「エコー」のMakefile
私のシステム内のすべての階層的Makefileからすべての文字列を編集することは圧倒的で非実用的な作業になります(私が将来私の考えを変えれば、再び元に戻すという圧倒的な仕事になるでしょう)。
理想的には、、my_error_echo
などのようなカスタム構文を使用したいと思います。ちょうどecho
と同じ構文です。
例えば、構文はmy_warning_echo "some text message"
であり、実装は@echo "$$(tput setaf 3)some text message$$(tput sgr0)
(これはMakefileの内部から使用されるため、double $$です)という出力になります。
主な問題は、閉じるtput sgr0
です(それ以外の場合は、@echo "$$(tput setaf 3)
を保持するマクロを使用できます)。
また、1つの引数(テキストメッセージ)を取るシェル関数を書くこともできますが、構文ではメッセージの最初と最後に括弧を追加する必要があります。
標準echo
と同じ構文を維持する方法はありますか? GNUのメイクに依存
ソリューションは大丈夫だろう(私は可能な限り標準であることを好むが、私のビルドシステムがすでにGNUの拡張を行い使用するため、...)
質問は不明です。標準的なエコーはもちろん、[POSIX](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html)にあります。 –