相当于 PowerShell 中的 Bash 别名

2024-02-03

PowerShell 新手问题:

我想在 PowerShell 中创建一个与此 Bash 别名完全相同的别名:

alias django-admin-jy="jython /path/to/jython-dev/dist/bin/django-admin.py"

到目前为止,在修补它的过程中,我发现这非常困难。

-PowerShell别名仅适用于PowerShell命令+函数调用

- 没有明确的方法来允许 PowerShell 函数调用上无限数量的参数

-PowerShell 似乎阻止了标准输出


值得注意的是,我已经尝试过这里提出的解决方案:http://huddledmasses.org/powershell-power-user-tips-bash-style-alias-command/ http://huddledmasses.org/powershell-power-user-tips-bash-style-alias-command/

在加载 PowerShell 时出现以下与语法相关的错误:


The term 'which' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spell
ing of the name, or if a path was included, verify that the path is correct and try again.
At C:\Users\Dan\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1:9 char:27

+             $cmd = @(which <<<<  $_.Content)[0]
    + CategoryInfo          : ObjectNotFound: (which:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

PowerShell 别名不允许论点.
They 只能引用一个命令name,它可以是 cmdlet 或函数的名称,也可以是脚本或可执行文件的名称/路径。

为了得到你所追求的东西,你需要定义一个function:

function django-admin-jy {
    jython.exe /path/to/jython-dev/dist/bin/django-admin.py @args
}

这使用了自 PowerShell 2.0 以来可用的功能,称为参数飞溅 https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_splatting: 可以申请@引用数组或哈希表的变量名。
在这种情况下,我们将其应用到自动变量 https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables named args,其中包含所有参数(未绑定到显式声明的参数 - see about_函数 https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_functions).

如果您想要一种真正通用的方法来创建带有参数的别名函数,请尝试以下操作:

function New-BashStyleAlias([string]$name, [string]$command)
{
    $sb = [scriptblock]::Create($command)
    New-Item "Function:\global:$name" -Value $sb | Out-Null
}

New-BashStyleAlias django-admin-jy 'jython.exe /path/to/jython-dev/dist/bin/django-admin.py @args'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

相当于 PowerShell 中的 Bash 别名 的相关文章

随机推荐

  • Mac Os X 上的 NDK 构建错误:“致命错误:stdint.h:没有这样的文件或目录”

    我使用以下构建命令来构建OpenH264 https github com cisco openh264项目 make OS android ARCH arm64 NDKROOT Library Android android ndk r1
  • SVG 和 HTML 中的缩放元素有区别吗?

    这个问题 https stackoverflow com questions 5882716 html5 canvas vs svg vs div看起来很相似但最终是不同的并且没有帮助 而且 接受的答案是2011年写的 似乎已经过时了 该问
  • 在 R Shiny 中跨多个模块使用reactiveValues

    我正在尝试在 R 闪亮应用程序中的多个模块中使用reactiveValues 我举了一个例子来说明我的问题 它由一个主应用程序组成 其中包含一个reactiveValue 它是一个3列的数据帧和3个旨在 读取 写入 和 读写 reactiv
  • 如何使用 Swift 将 JSON 数组数据加载到 UIActionSheet 按钮标题中

    I have JSON内的数据array 我需要加载这个数组数据UIActionSheet button title 在这里 我尝试使用单个创建一个通用的 UIActionSheetbutton 基于数组字符串 我需要加载数据作为按钮标题
  • Python 的多个构造函数

    我有一个 A 类 可以通过两种不同的方式生成 a A xml 文件路径 a A 列表 列表 第一个方法以文件路径作为输入 从 XML 文件解析以获取 listA 和 listB 第二种方法给出了两个列表 我可以想到两种方法来实现多个构造函数
  • 虚函数可以被非虚函数覆盖吗?

    在此代码中 class Base public virtual void method 0 class Derived1 public Base public virtual void method override class Deriv
  • 从顶部滑动抽屉

    我试图让一个滑动抽屉在我的应用程序中从顶部拉下 但我无法找到一种方法来做到这一点 有什么帮助吗 内置的滑动抽屉不是那么灵活 你最好的选择是扩展它并修改它的行为 或者看看这个http code google com p android mis
  • Git 软件(例如 Gitbox、Github、SourceTree)可以使用远程存储库而不是本地存储库吗?

    我喜欢使用 Git 软件来推送提交 但我使用的软件 Gitbox Github SourceTree 在向其添加新存储库时都要求本地存储库 问题是 我的存储库位于我的开发服务器上 而不是我的本地计算机上 那么 Git 软件是否可以使用远程
  • Nodejs Express 4 Multer | Nodejs Express 4 Multer如果用户未授权则停止文件上传

    我在用着multer作为 Express 4 的多部分中间件 Express 配置为使用护照作为身份验证中间件 但如果用户未经身份验证 我找不到阻止文件上传的方法 我想使用 onFileUploadStart 来拒绝该文件 但我找不到与 请
  • 禁用链接和 上的浏览​​器工具提示

    当用户将鼠标悬停在某些链接和元素上时 我想抑制网络浏览器的默认工具提示显示 我知道这是可能的 但我不知道如何实现 有人可以帮忙吗 这样做的原因是抑制微格式日期时间的工具提示 BBC 放弃了对 hCalendar 的支持 因为机器可读日期的外
  • 您可以隐藏 QGroupBox 框架但保留其内容可见吗?

    我有一个QGroupBox 根据上下文 它的标题可能是多余的 显示在 GUI 的另一个位置 所以我需要将QGroupBox不在这里 但我必须保留它的内容可见 所以我不想打电话QGroupBox hide 我需要在运行时动态执行此操作 并希望
  • 如何使 Groovy 方法真正受到保护

    尝试在groovy中创建一个方法protected package com foo class Foo protected def getSomething 这不起作用 因为默认情况下 groovy 几乎使所有内容都可见 所以我尝试使用 P
  • HTML 按钮 - 按住按钮时它将重复该操作

    我是 HTML 新手 我正在开发一个项目 该项目需要使用一个按钮 当您按住它时 它会重复相同的操作 这是我到目前为止得到的代码 但没有起作用 DOCTYPE html gt
  • 三个值的异或

    进行三向异或的最简单方法是什么 换句话说 我有三个值 并且我想要一个仅计算为 true IFF 的语句one三个值中的一个为真 到目前为止 这就是我想出的 a b a c b c b a b c a c c a c b a b 有没有更简单
  • 使用 MongoDB C# 驱动程序查询构建器获取项目计数

    使用 MongoDB 的 C 驱动程序 我可以轻松构建一个查询 然后可以添加 SetSkip 和 SetLimit 参数以将结果集限制为特定大小 不过 我希望能够在应用 Skip 和 Take 之前知道查询的项目数是多少without执行查
  • 如何将 pandas 数据框转换为嵌套字典

    我正在运行 Python 3 6 和 Pandas 0 19 2 并且有一个 DataFrame 如下所示 Name Chain Food Healthy George McDonalds burger False George KFC c
  • 用一个最深的循环限制递归,并为所有元素分配精确的 id

    需要从混合顺序中对元素进行排序 排序是使用递归方法完成的 代码中未实现 while 必须满足两个条件 递归应该只捕获最长的链 其他链不应输出 一个元素与STATUS 0 逻辑上 链中的第一个元素 不应显示 but its id 3值必须分配
  • 如何将 JIRA 与 Selenium WebDriver 集成?

    如何将 JIRA 与 Selenium WebDriver 集成 实际上我想执行测试用例并报告 JIRA 中每个测试用例的通过 失败状态 你的问题很笼统 我的回答也很笼统 Jira 并不完全是一个 TCM 测试用例管理器 应用程序 尽管它肯
  • 如何使用 MongoDB 搜索文档中所有字段的单词或字符串?

    我们遇到的情况是 用户希望有一个 多功能框 来搜索文档中任何位置的单词 短语 MongoDB 是否能够执行此搜索 还是必须对每个字段进行显式搜索 你需要创建一个通配符文本索引 https docs mongodb org manual co
  • 相当于 PowerShell 中的 Bash 别名

    PowerShell 新手问题 我想在 PowerShell 中创建一个与此 Bash 别名完全相同的别名 alias django admin jy jython path to jython dev dist bin django ad