我想替换文本Powershell Startup
和CMD StartUp
以下内容
# PowerShell
PS C:\Users\Admin>
# CMD
C:\Users\Admin>
和
PS >
CMD >
就像Python Start Up
那样只显示>>>
这可能吗?
答案1
对于 PowerShell,$profile
在文本编辑器中打开文件并定义一个Prompt
函数。
Function Prompt {
return "PS >"
# color:
# $esc = [char] 0x1B
# return "$esc[34m" + "PS >" + "$esc[m"
}
Function Test-IsElevated {
$me = [Security.Principal.WindowsIdentity]::GetCurrent()
$me = [Security.Principal.WindowsPrincipal] $me
return $me.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
}
Function Prompt {
if (Test-IsElevated) { return "PS # " } else { return "PS > " }
}
PowerShell 使用 PSReadline,并且思考它不需要任何特殊的颜色代码,但我可能错了。
对于 Python,定义指向成为启动脚本的某个路径的 PYTHONSTARTUP 环境变量,然后sys.ps1 =
在该文件中定义。
import sys
sys.ps1 = "PY >"
# color:
# sys.ps1 = "\x01\x1B[35m\x02" + "PY >" + "\x01\x1B[m\x02"
Python 使用与 Bash 相同的 Readline,但是\[
\]
Readline 使用的是所包围的颜色代码,\x01
\x02
而不是。
对于 Cmd,PROMPT
使用实际的提示字符串定义环境变量(请参阅这里或help prompt
从 Cmd 内部获取语法)。
虽然 Cmd 可以有一个自动运行脚本,您不需要一个用于设置提示的脚本(使用setx
或通过永久设置环境变量就足够了sysdm.cpl
),所以以下只是一个示例。
set PROMPT=CMD $G
:: color - if it works
:: set PROMPT=$E[36mCMD $G$E[m