dim*_*mba 5 linux bash shell makefile
尝试做:
help:
@echo "you must $(call red_text,clean)"
Run Code Online (Sandbox Code Playgroud)
其中 red_text 定义为
red_text = $(shell tput setaf 1; echo -n "$1"; tput sgr0)
Run Code Online (Sandbox Code Playgroud)
这将打印“you Must clean”,其中“clean”一词以红色打印。
问题是当 make 的输出通过管道传送时(例如传送到 less)。在这种情况下,我不应该使用颜色,而应该打印 1 美元。
我需要更新red_text来处理这个案子。为此,我认为我可以使用类似的东西$(shell [ -t 1 ] ..),但问题是标准输出从来$(shell)都不是终端。
当标准输出不是终端时,如何更改red以处理这种情况?
LtW*_*orf -2
if test -t 1
then
echo terminal
else
echo file
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
876 次 |
| 最近记录: |