Windows git bash 在调用 AWS CLI 时尝试将字符串解析为文件

标签 windows aws-cli git-bash

我有一个 AWS SSM CLI 命令的字符串参数,由于以 / 开头,它看起来像一个文件路径。 /path/to/my/param.

当我在 git bash 上运行命令时,无论我如何尝试转义它,它都会尝试查找文件:

aws ssm get-parameter --name "/path/to/my/param"

aws ssm get-parameter --name '/path/to/my/param'

aws ssm get-parameter --name '\/path\/to\/my\/param'

调用 GetParameter 操作时发生错误(ValidationException):无效的标签格式/Program Files/Git/path/to/my/param。标签名称不能以数字、“ssm”或“aws”(不区分大小写)作为前缀。您可以指定字母、数字和以下符号:句点 (.)、破折号 (-) 或下划线 (_)。

甚至尝试反引号,然后我得到一个 bash 错误

aws ssm get-parameter --name `/path/to/my/param`

错误:bash:/path/to/my/param: No such file or directory

如果我执行 echo/asd/asd,它实际上会输出 /asd/asd,所以这也可能是 aws cli 处理输入的方式。

任何想法如何逃脱它?

最佳答案

可以在 MSYS2 中关闭所选路径的路径转换(参见 Msys2 Porting,文件系统命名空间部分)。

您也可以通过以下方式暂时禁用它:

 MSYS2_ARG_CONV_EXCL="/aws" aws ssm get-parameter --name '/aws/path/to/my/param'

关于Windows git bash 在调用 AWS CLI 时尝试将字符串解析为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53706672/

相关文章:

python - AWS IAM Python Boto3 脚本 - 创建用户

javascript - 我的 p5.js Canvas 窗口随着每次代码执行而不断变化。我怎样才能阻止这个?

amazon-web-services - 如何在 aws cli 中删除 aws s3 存储桶

python-3.x - MacOs Catalina AWS CLI 错误 "ImportError: cannot import name ' ssl' from 'urllib3.util.ssl_' "

python - 从 git bash for windows 激活 venv

vim - 使用 gVim 时释放终端

windows - Windows 上的 Git instaweb?出现错误

windows - 如何通过批处理禁用 Windows 效果

php - 无法在 Windows 资源管理器中打开由 PHP Zip Archive 生成​​的 zip 文件

git-bash - Windows 7 64 位 Bash "heroku: command not found"