mkl*_*nt0 24
在 PowerShell 中,与 in 不同cmd.exe,@和{/}是元字符,需要使用单独的 转义`(所谓的反引号)或将整个参数括在引号中:
所以:
# Metacharacter-individual escaping
git reset HEAD`@`{2`}
# Enclosing the whole argument in quotes
git reset 'HEAD@{2}'
Run Code Online (Sandbox Code Playgroud)
笔记:
严格来说, ,@只是参数开始时的一个元字符。
上面使用了逐字(单引号)字符串 ( '...');如果需要字符串扩展(插值),请使用可扩展(双引号)字符串 ( "...")
有关参数[-解析]模式下所有PowerShell 元字符的列表,请参阅此答案。
至于您看到的晦涩错误消息:
未转义的使用{...}导致后者被解释为脚本块。
由于自 PowerShell 7.3.1 起仍然存在的错误,脚本块的存在会不适当地触发将此类参数转换为传递给参数的 Base64 编码参数-encodedCommand,这仅在调用 PowerShell CLI 时才有意义(powershell.exe对于 Windows PowerShell,pwsh对于 PowerShell (Core) 7+) - 请参阅GitHub 问题 #10842。
git因此-encodedCommand在其命令行上看到,并抱怨不知道 option -e。
| 归档时间: |
|
| 查看次数: |
7041 次 |
| 最近记录: |