如何在 powershell 提示符中使用波形符?

2024-04-21

所以我明白了:

function global:prompt {
    # Commands go here
}

在 powershell 中设置提示符。我可以用Get-Location获取当前工作目录。我可以cd ~并在我的主目录中。

但是我可以让提示使用波浪号吗?例如,如果我在/home/mike它应该只是显示~.

我尝试过测试:

$pwd -contains $home

但结果不正确。

如何在 powershell 的提示符中使用 ~ ?


您可以更换$HOME with ~使用普通的字符串替换。前任。

获取当前提示函数:

Get-Content Function:\prompt

    "PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) ";
    # .Link
    # http://go.microsoft.com/fwlink/?LinkID=225750
    # .ExternalHelp System.Management.Automation.dll-help.xml

然后更换$home with ~当当前路径为$home or $home\*.

使用开关(可读):

function global:prompt {

    $path = switch -Wildcard ($executionContext.SessionState.Path.CurrentLocation.Path) {
        "$HOME" { "~" }
        "$HOME\*" { $executionContext.SessionState.Path.CurrentLocation.Path.Replace($HOME, "~") }
        default { $executionContext.SessionState.Path.CurrentLocation.Path }
    }

    "PS $path$('>' * ($nestedPromptLevel + 1)) ";
}

使用正则表达式(推荐):

function global:prompt {

    $regex = [regex]::Escape($HOME) + "(\\.*)*$"

    "PS $($executionContext.SessionState.Path.CurrentLocation.Path -replace $regex, '~$1')$('>' * ($nestedPromptLevel + 1)) ";

}

Using Split-Path (ugly):

function global:prompt {

    $path = $executionContext.SessionState.Path.CurrentLocation.Path
    $p = $path

    while ($p -ne "") {
        if($p -eq $HOME) { $path = $path.Replace($HOME,"~"); break}
        $p = Split-Path $p
    }

    "PS $path$('>' * ($nestedPromptLevel + 1)) ";

}

Demo:

PS C:\> cd ~

PS ~> cd .\Desktop

PS ~\Desktop>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 powershell 提示符中使用波形符? 的相关文章

随机推荐

  • 如何点击cypress中的链接

    如何使用 cypress 单击此链接 a href class button span class icon icon chevron down span span class screen reader only chevron down
  • 错误 1062。mysql 中的重复条目

    我有一个 MySQL 表 其架构中的列 1 是主键 我有一个 tsv 文件 需要将其插入到该表中 现在 tsv 具有主键重复 因此当我尝试将其插入 MySQL 表时 会出现错误 ERROR 1062 23000 Duplicate entr
  • 使用 Python/PIL 比较(相似)图像

    我正在尝试计算相似 read 编辑距离 的两个图像 使用 Python 2 6 和 PIL 我计划使用python levenshtein http pypi python org pypi python Levenshtein 0 10
  • 是否可以将布局 xml 放在 /res/layout 下的子目录中?

    我的布局文件越来越大 所以我想到了将它们放在子目录中的想法 是否可以 简单代码
  • 如何从 bash 查看二进制文件?

    我想从命令行查看当前目录中文件的内容 但以二进制形式查看 我怎样才能实现这个目标 xxd https linux die net man 1 xxd既可以是二进制 也可以是十六进制 bin xxd b file hex xxd file
  • Facebook:不安全的 JavaScript 问题(document.domain 值应该相同)

    我的是一个基于canvas的FB应用程序 在 Chrome 和 Firefox 上都面临问题 尽管通常是 Chrome 1 当我在新的隐身 Chrome 窗口上点击我批准的 Facebook 应用程序安全 URL 时 https apps
  • 使用 Win32 / C++ 读取 PNG

    没有simple在本机 Windows 中将 PNG 文件读入内存位图的方法似乎是不可能的 但经过多次谷歌搜索后我开始相信它 libpng zlib 组合太大了 有任何第三方库 Win32 库可以读取 PNG 吗 编辑 boost gil
  • 当 contentType=application/json 时 Jquery JQGrid 中断?

    我必须使用 ajaxSetup 将 contentType 全局更改为 application json ajaxSetup contentType application json charset utf 8 请参阅此问题了解为什么我必须
  • 通过 OpenXml SDK 的 XLSX 文件有效和无效

    我有一个程序将 System Data DataTable 导出到 XLSX OpenXml 电子表格 最后让它大部分工作 但是 当在 Excel 中打开电子表格时 Excel 抱怨文件无效 需要修复 并给出此消息 我们发现 中的某些内容存
  • 将 CMSampleBuffer 转换为 UIImage

    这是一个将 CMSampleBuffer 转换为 UIImage 的函数 来自 Apple 文档的代码 func imageFromSampleBuffer sampleBuffer CMSampleBuffer gt UIImage Ge
  • 如何在 Python 中将多级列表转换为字符串列表?

    我有一个看起来像这样的列表 a A V C A D D 我想创建另一个可以转换的列表a into AVC ADD 我将如何继续这样做 Use str join https docs python org 3 5 library stdtyp
  • 使用 Firebase 监听嵌套更改的正确方法是什么?

    背景 我正在尝试使用 Firebase Twilio 和 Node js 通过浏览器发送短信 我当前在 Firebase 中的数据结构如下所示 messages 15553485 FB GENERATED KEY 1 body hello
  • rSpec 和 Rails3 中的存根设计

    如何使用 rSpec 在 Rails 3 中存根 Devise 我有一个UsersController and a User模型 目前 这两者都与 Devise 相关 我正在编写控制器规格 但我真的很难实现作为 Devise 的期望sign
  • 如何为ListBox(值)索引或树视图节点设置相同的按钮事件?

    我有 C Win form 如下所示 我也有一些数组作为列表框的菜单 public string ArrayMain 1 Water 2 Air 3 Soil 4 Fire public string ArrayWater 1 Salty
  • 与最接近的值左连接,不重复

    我想在 MS SQL 中实现如下所示的效果 使用 2 个表并通过连接而不是迭代 从表 A 中 我希望每一行从表 B 中识别列表中的哪一个是它们最接近的值 并且当选择值时 该值不能重复使用 如果您以前做过类似的事情 请帮忙 先感谢您 SOre
  • 为 PHP CLI 安装 Xdebug

    我在用着XAMPP http www apachefriends org tr index html在 Mac OS 上 尝试使用PHPUnit http phpunit de的代码覆盖率检查 这需要XDebug http phpunit
  • EF 中的过滤器包含[重复]

    这个问题在这里已经有答案了 我有这个 LINQ 查询 它在 Include 中的筛选器上给出错误 当我在 Google 上搜索我的朋友时 我发现无法在 包含 中进行过滤 我已经找到了一些方法可以以另一种方式做到这一点 但我无法让它适用于我的
  • 如何找到第一个设置位的索引

    是否有按位解决方案来查找仅设置一个位的掩码中第一个设置位的索引 例如对于 8 则为 3 对于 16 gt 4 依此类推 请不要循环 我能想到的最佳解决方案是创建位到索引的映射 function firstBit x return Math
  • 如何为 HTML5 画布上下文设置 2 种字体?

    我试图让画布在绘制文本时使用两种字体 这是因为我的主要字体是 Comic Sans MS 这是一个儿童应用程序 由于我在 iPad 上找不到 Comic Sans 因此我尝试用 MarkerFelt Thin 来替代它 我尝试使用以下语句的
  • 如何在 powershell 提示符中使用波形符?

    所以我明白了 function global prompt Commands go here 在 powershell 中设置提示符 我可以用Get Location获取当前工作目录 我可以cd 并在我的主目录中 但是我可以让提示使用波浪号