当前位置:   article > 正文

powershell@命令行提示符样式配置自定义@pwsh重写prompt显示电量内存时间等信息

powershell@命令行提示符样式配置自定义@pwsh重写prompt显示电量内存时间等信息

abstract

  • 在 PowerShell 中,可以通过自定义 $prompt 变量来修改命令行提示符(Prompt)。以下是修改 PowerShell 提示符的一些基本方式:

    1. 简单修改
      你可以直接覆盖 $prompt 变量的内容,例如将其设为任何你想要的文字:

      $prompt = "Hello, World PS> "
      
      • 1
    2. 动态提示符
      利用 PowerShell 表达式来构造动态提示符,例如包含当前目录、时间戳或用户名等信息:

      function prompt {
          "$([System.Environment]::UserName) at $(Get-Location): $(Get-Date -Format 'HH:mm:ss') > "
      }
      
      • 1
      • 2
      • 3
    3. 颜色和样式
      使用 ANSI 转义码或 PowerShell 的 Write-Host 命令配合特殊字符来实现颜色和样式变化:

      function prompt {
          Write-Host -ForegroundColor Green -NoNewline "[ $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') ]"
          Write-Host -ForegroundColor DarkCyan -NoNewline "($(Get-Location)) "
          return ">"
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5

流行的powershell prompt模块

  1. 使用 PowerShell 模块
    有一些社区开发的 PowerShell 模块,如 posh-git 和 oh-my-posh,专门用于增强和美化 PowerShell 提示符,尤其是针对 Git 用户,它们会在提示符中显示 Git 仓库的状态。

  2. 定制复杂的提示符
    你还可以根据自己的需求编写更为复杂的函数来定制提示符,它可以包含各种环境信息、快捷菜单项、甚至是图形元素(如在 Windows Terminal 应用中)。

示例

function prompt {
    $GitStatus = git status --porcelain 2>$null
    $Branch = git rev-parse --abbrev-ref HEAD 2>$null
    if ($LASTEXITCODE -eq 0) {
        "$([char]0x1b)[32m[$Branch]$([char]0x1b)[0m$(if ($GitStatus) {' *'}) $($pwd.ProviderPath)\>"
    } else {
        "PS $($pwd.Path)>"
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

以上示例尝试获取 Git 分支信息并检查是否有未提交的更改,从而在提示符中显示 Git 相关状态。

请注意,对于不同版本的 PowerShell (尤其是跨平台的 PowerShell Core),提示符的定制可能会有所差异,需确保代码兼容对应的 PowerShell 版本。同时,为了防止与其他脚本冲突,建议在用户的配置文件(如 Microsoft.PowerShell_profile.ps1)中进行个性化提示符的设置。

powershell原生修改Prompt函数

  • 通过重写prompt来修改powershell命令行提示符的样式声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】

推荐阅读
相关标签