在PowerShell中传递感叹号,括号作为可执行参数的一部分

问题描述 投票:1回答:1

在git中,如果我们想从diff输出中排除文件(在bash上),我们会执行以下操作:

git diff -- !(file.txt)

但这在powershell中是不允许的。因此有没有办法在powershell提示符中实现这一点?

powershell syntax command-line-arguments
1个回答
1
投票

简单地引用您的论点:

git diff -- '!(file.txt)'

单引号使PowerShell按字面意思处理字符串并阻止它解释字符。比如(作为自己的元字符。

在调用目标程序之前,PowerShell会根据需要在幕后重新引用参数;那是:

  • 它包含"..."中的参数,如果它包含空格,也包含在某些不太常见的场景中(参见下面的链接)。
  • 它通过它没有引号否则。

注意:这种无形的重新引用存在一些陷阱 - 请参阅this answer

© www.soinside.com 2019 - 2024. All rights reserved.