【发布时间】:2022-01-25 06:05:48
【问题描述】:
我的.bashrc 中有以下内容:
color_prompt=yes
force_color_prompt=yes
if [ "$color_prompt" = yes ]; then
PS1='$(some_command)\$ '
else
PS1='\$ '
fi
unset color_prompt force_color_prompt
其中some_command 是一个可执行文件,它输出带有颜色集的字符串。但是,当我将其用于提示时,颜色不存在。如果我手动执行 some_command 输出有颜色所以我不确定为什么当我将它添加到 .bashrc 时它没有。
有人可以帮忙吗?我不知道下一步该尝试什么。
【问题讨论】:
-
@markp-fuso 所以不幸的是这不起作用。它再次输出,但没有颜色。
-
@rowboat 但这是一个终端提示,那不是连接到终端吗?我将如何进行测试/确认?
-
如果它有手册页,请先阅读它。当我们不知道您询问的是哪个命令时,我们真的无能为力。
-
如果我输入
PS1='$(grep --color=auto . /etc/timezone)\$ ',我没有颜色,如果我切换到--color=yes,我会这样做。 -
@markp-fuso 您通常希望将提示命令放在单引号中,以便在每次显示提示时重新执行它,而不是硬编码定义提示时的输出。