GitBash:如何传递以斜杠 / 开头的参数而不将其视为目录?

Ric*_*man 1 bash msys git-bash aws-cli

在 Windows10 上使用 Git Bash...

我正在使用 aws cli 从 ssm 获取参数。名称参数以“/”开头。bash 将其处理为目录名并导致错误。(命令在 CentOS 中有效。它在 PowerShell 中有效。我想留在 Git Bash 中。)

aws ssm get-parameters --names /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
Run Code Online (Sandbox Code Playgroud)

回复:

{
    "Parameters": [],
    "InvalidParameters": [
        "C:/Program Files/Git/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2"
    ]
}
Run Code Online (Sandbox Code Playgroud)

我尝试过引用和转义...

... "/aws/..."
... '/aws/...'
... \/aws/...
... \/aws\/...
... \\/aws/...
... \\/aws\\...
Run Code Online (Sandbox Code Playgroud)

我尝试过将其放入变量中,但结果是相同的。

我尝试关闭通配符。(我验证“*”不再扩展,但我仍然有同样的问题。)

set -f
Run Code Online (Sandbox Code Playgroud)

我找不到让该命令在 GitBash 中工作的方法。

您碰巧知道解决方案吗?

Phi*_*ppe 12

尝试这个 :

MSYS_NO_PATHCONV=1 aws ssm ...
Run Code Online (Sandbox Code Playgroud)

如果这不起作用或导致其他问题,请尝试

aws ssm ... //aws\\service...
Run Code Online (Sandbox Code Playgroud)

它通过加倍第一个正斜杠来替换它,并用两个反斜杠替换所有剩余的正斜杠。