提问人:Alejandro Bermúdez 提问时间:4/11/2023 更新时间:4/18/2023 访问量:119
控制台的彩色文本
Colored text to the console
问:
如何将彩色文本回显到控制台?
在 Powershell 中,我可以这样做:
write-host _info_ -fore 黄色 -back 蓝色
write-host _error_ -fore 黄色 -back 红色
write-host _warning_ -fore 白色 -back DarkYellow
write-host _succes_ -fore 黄色 -back 绿色
write-host verde -fore 黄色 -返回 绿色 -nonewline ;写主机 blanco -fore black -back white -nonewline ;write-host rojo -fore yellow -back 红色
我怎样才能对 nushell 做同样的事情?
提前致谢。
我在您的文档中没有找到此信息。
答:
1赞
Darren
4/18/2023
#1
有几种方法可以做到这一点。您已经发现了该命令,但您也可以使用转义和插值字符串来执行此操作。ansi
下面是一个使用带有插值的命令的示例,使用ansi
$""
echo $"(ansi red)Nushell(ansi reset)"
现在要查看“引擎盖下”发生了什么,您可以运行此命令。
echo $"(ansi red)Nushell(ansi reset)" | debug -r
这导致了这样的事情。
String {
val: "\u{1b}[31mNushell\u{1b}[0m",
span: Span {
start: 277827,
end: 277859,
},
}
现在更容易看出有 ansi 逃脱使这一切发生。所以,这意味着我们可以用相同的结果做这样的事情。
echo "\e[31mNushell\e[0m"
这里的关键是,在 nushell 中,双引号意味着翻译转义。如果您要使用单引号或反引号,则只会得到一个字符串而不是红色字符串。
评论