因此,在Bash中,您只需配置PS1
即可为提示添加颜色。我说的是正确的提示,而不是前景(文本)或背景的颜色。而且它在Bash中非常简单,如果你需要在凌乱的文本输出中找到你的命令,它会有很大的帮助。
对于PowerShell,您可以为cmd.exe
或回退实现相同的目标吗?彩色提示?
我不知道是否可以在Win32之前通过加载ANSI.SYS
来完成。我认为这只是为了使前景和背景丰富多彩。但我可能错了。无论如何,那些日子已经过去了,在我们现代(我知道),我们正在使用cmd.exe
或PowerShell。
我知道cmd.exe和PowerShell都能够进行彩色输出。对于cmd.exe,只需运行color /?
即可查找。但我的问题不是关于前景和背景,这些都是人类已知的 - 它只是改变cmd.exe的提示颜色,可能是通过PROMPT
环境变量通过PS1
变量来改变击?有可能吗?
不,Cygwin不是替代品。我是使用MinTTY的Cygwin用户,我喜欢它。但我仍然希望我的cmd.exe
提示符也是彩色的。
答案 0 :(得分:15)
您可以在Powershell中为您的个人资料添加一个提示功能,以便通过提示做任何您想做的事情。例如,像这样:
function prompt
{
Write-Host "PS $(get-location)>" -nonewline -foregroundcolor Magenta
return ' '
}
要打开或创建PowerShell配置文件,请运行以下命令:
if(Test-Path $profile){notepad $profile}else{New-Item -path $profile -type file -force}
答案 1 :(得分:11)
答案 2 :(得分:5)
这是一个很好的信息,但我没有看到的重要事项是每次运行命令提示符时如何显示自定义提示。在较旧的Windows(例如XP和之前的版本)中,您可以将PROMPT环境变量放在AUTOEXEC.BAT
文件中,但是在Windows 7到Windows 10中,您可以将其设置为永久性,如下所示:
Run
key + R
提示
ENTER
$e[1;44m*$e[41m▀▀$e[0;1m $P$G
(通过按住ALT并在右侧的键盘上键入223来制作白条。此提示中有两个这样的字符。)
答案 3 :(得分:2)
您可以使用多种颜色(非常有用于识别提示的组件,在Unix中很常见):
function prompt {
Write-Host ("@") -NoNewLine -ForegroundColor Magenta
Write-Host ("$env:COMPUTERNAME") -NoNewLine -ForegroundColor Green
Write-Host (":") -NoNewLine -ForegroundColor Magenta
Write-Host ($(Get-Location)) -NoNewLine -ForegroundColor Green
Write-Host (">") -NoNewLine -ForegroundColor Red
return " "
}
(此处COMPUTERNAME
已明确写入,但实际上它已被环境变量的值替换。)
你可以添加随机颜色(取自here; this有相似的版本;两者都有其他非常有趣的调整):
function prompt
{
$random = new-object random
$color=[System.ConsoleColor]$random.next(1,16)
Write-Host ("PS " + $(get-location) +">") -nonewline -foregroundcolor $color
return " "
}
答案 4 :(得分:0)
基于@KriZ的答案,从2019年开始,ANSI转义序列在Windows 10 cmd.exe中可完美运行。不需要显式调出ansi.sys或复制任何文件。它只是在Windows 10中开箱即用。
例如,
set PROMPT=$E[1;37m[user@machine:$E[1;35m$P ]$$ $E[1;37m
产生:
(请注意最后$之后的空格)
驱动器之前的所有内容均以粗体白色着色,驱动器/文件夹中的所有内容均以粉红色粗体显示,最后$之后的所有内容均以粗体白色显示。
颜色的格式为:
$E[bold_or_not;colorm
m始终位于颜色编号之后。 bold_or_not = 0或1。这是颜色的指南:
0关闭属性 1高强度 2正常强度 4下划线(仅单声道) 5闪烁 7反向视频 8不可见 30黑色 31红色 32绿色 33黄色 34蓝色 35洋红色 36青色 37白色 40黑色 41红色 42绿色 43黄色 44蓝色 45洋红色 46青色 47白色