当我在mac上的终端中读取bash命令的输出时,我发现很难找到命令输出的开始位置。我想用红色对最新命令的输出进行着色,然后当我运行一个新命令时,只有该命令的输出为红色,而之前命令的输出为黑色。
编辑:
举个例子,
echo hi
hi <- should be red
然后当我输入另一个命令
echo hi
hi <- should be black
echo 'hi there'
hi there <- should be red
答案 0 :(得分:1)
这是一个shell函数:
xtrace() {
awk '
BEGIN {
d = "\47"; printf "\33[36m"
while (++q < ARGC) {
x = split(ARGV[q], y, d); y[1]
for (z in y) {
printf "%s%s", !x || y[z] ~ "[^[:alnum:]%+,./:=@_-]" ? d y[z] d : y[z],
z < x ? "\\" d : ""
}
printf q == ARGC - 1 ? "\33[m\n" : FS
}
}
' "$@"
"$@"
}
将它放在你的〜/ .profile或类似文件中,然后像这样运行:
$ xtrace echo alfa 'bravo charlie'
echo alfa 'bravo charlie'
alfa bravo charlie
该命令将以蓝色打印,然后输出命令 正常打印。
答案 1 :(得分:0)
它不是完全你问的是什么,但终端有一个名为&#34; Marks&#34;的功能。默认情况下,它会自动标记窗口中的每个命令行。标记在窗口的边缘显示为微弱的方括号([,])。
您可以使用编辑&gt;中的项目在标记之间跳转导航菜单。使用这些菜单项的键盘快捷键最方便,例如⌘↑用于跳转到上一个标记。如果按住Shift键,则会更改为“选择到上一个标记”。这些可以更容易地找到命令输出的开头。