bash - GitBash:如何传递以斜杠 / 开头的参数而不将其视为目录?
问题描述
在 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
回复:
{
"Parameters": [],
"InvalidParameters": [
"C:/Program Files/Git/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2"
]
}
我试过引用和转义......
... "/aws/..."
... '/aws/...'
... \/aws/...
... \/aws\/...
... \\/aws/...
... \\/aws\\...
我试过放入一个变量,但结果是一样的。
我尝试关闭通配符。(我验证“*”不再扩展,但我仍然有同样的问题。)
set -f
我找不到使命令在 GitBash 中工作的方法。
您碰巧知道解决方案吗?
解决方案
尝试这个 :
MSYS_NO_PATHCONV=1 aws ssm ...
如果这不起作用或导致其他问题,请尝试
aws ssm ... //aws\\service...
这是通过加倍替换第一个正斜杠并将所有剩余的正斜杠替换为两个反斜杠。
推荐阅读
- javascript - 谷歌地图自动完成在模式弹出窗口中不起作用
- vb.net - INSERT INTO 语句中的语法错误。
- java - 使用 java 创建 aws 参数化管道
- java - 仅使用 JDK Api 将 SOAP 消息写入标准输出
- android - 切换片段时阻止谷歌地图重新加载
- css - MS Edge 未在 unicode 符号上应用 css 样式“颜色”
- docker - 在搬运工中修改 docker 镜像
- go - 为什么在解组后我得到不同的字节数但在编组后得到相同的结果?
- objective-c - 如何将以下有关 Core Graphics 的代码转换为 Swift?
- tfs - 如何知道当前的变更集 id TFS Visual Studio