PowerShell如何在现有提示符末尾追加VPN状态指示字符
你可以先备份当前已生效的原有提示符函数,在自定义的prompt中先调用原有逻辑保留全部原有内容,再追加你的状态标识即可,具体实现如下:
- 先备份原有prompt函数实现,这一步需要放在自定义prompt的代码之前执行,避免重写时丢失原有逻辑:
$originalPrompt = Get-Item Function:\prompt
- 重写自定义prompt函数:
function prompt { # 执行原有prompt逻辑,保留posh-git等模块生成的全部提示符内容 & $originalPrompt # 追加VPN状态标识,添加-NoNewline参数保证内容不换行、紧跟在原有提示符末尾 if (getVpnStatus) { Write-Host " 🟢" -NoNewline } else { Write-Host " 🔴" -NoNewline } return " " }
注意要点
- 如果需要该配置永久生效,将以上两段代码添加到你的PowerShell配置文件(可通过在PowerShell中执行
echo $PROFILE查看配置文件路径)中即可。 - 追加状态标识时务必添加
-NoNewline参数,否则标识会单独换行显示,无法实现末尾追加的效果。
内容的提问来源于stack exchange,提问作者OliverRadini
相关产品推荐
相关产品推荐

