如何在Nushell中实现PowerShell式的控制台彩色文本输出?
在Nushell中实现带颜色的文本输出及无换行拼接
Nushell 没有类似 PowerShell Write-Host 的直接参数化命令,但可以通过内置的 ansi 命令生成ANSI转义序列,配合 print 命令实现相同效果:
1. 基础前景色/背景色输出
- 单独设置前景色:
print (ansi red "红色前景的文本") - 单独设置背景色:
print (ansi on_blue "蓝色背景的文本") - 同时设置前景和背景色:
print (ansi cyan on_black "青前景黑背景的文本")
2. 无换行的多颜色拼接输出
Nushell 的 print 默认会自动换行,使用 -n 参数可以取消换行,以此实现多颜色文本的连续拼接:
- 分步输出无换行内容:
print -n (ansi green "绿色片段") print -n (ansi yellow " 黄色片段 ") print (ansi red "红色片段(最后自动换行)") - 直接拼接多个格式化内容:
print -n (ansi bold blue "加粗蓝色" + ansi underline red " 下划线红色" + ansi reset " 恢复默认颜色")
注意:使用
ansi reset可以恢复终端默认的颜色和样式,避免后续输出受到之前设置的影响。
3. 额外样式扩展
还可以组合其他文本样式(如加粗、下划线):
print (ansi bold underline magenta "加粗下划线的洋红色文本")
内容的提问来源于stack exchange,提问作者Alejandro Bermúdez
相关产品推荐
相关产品推荐

