【发布时间】:2017-06-20 05:51:59
【问题描述】:
当我在 mac 上的终端中读取 bash 命令的输出时,我发现很难找到命令输出的开始位置。我想将最新命令的输出涂成红色,然后当我运行新命令时,只有该命令的输出为红色,而先前命令的输出为黑色。
编辑:
举个例子,
echo hi
hi <- should be red
然后当我输入另一个命令时
echo hi
hi <- should be black
echo 'hi there'
hi there <- should be red
【问题讨论】:
-
一种常见的技术是为提示添加颜色。例如,在 PS1 的开头,包含
\033[01;31m使您的提示变为红色,然后在 PS1 的末尾加上\033[01;32m以将文本转换为绿色。您还需要在颜色命令周围添加\[和\]括号,以便 bash 可以正确计算提示的长度并将光标定位在正确的位置。 -
只是一个问题:为什么这个问题不好?我在问如何在 mac 终端中做某事。这是一个非常具体的项目,并且有一个具体的答案。它与编程有关。
-
它不遵循How to Ask 的规则,包括提供minimal reproducible example。我个人无法解析句子
I would like to color the output of the last command in red and and then when I run a new command, have the rest of the output be recolored to black and the new latest output be red。 “其余”是什么意思?它与“最新的”相同还是其他?您是否尝试在后台同时运行 2 个命令,每个命令交错输出不同的颜色或执行其他操作? minimal reproducible example 将非常有用。 -
那么请举个例子,不要投反对票。如果您只单击向下箭头,我无法改进问题。我会假设“其余的”显然是从以前的命令输出的。
-
我没有投反对票,我回答了你的问题,询问你的问题有什么问题,在回复中我确实要求举个例子。不,一点也不明显。所以你想运行一个命令,让它的输出以红色显示在你的屏幕上,然后运行第二个命令,让当前以红色显示的前一个命令的输出变为黑色,并显示新命令的输出红色的?我当然不会想到这就是你要的!祝你好运...