开始时带有'/'的Git Bash-字符串参数正在展开为文件路径。怎么才能阻止这一切呢? [英] Git Bash - string parameter with '/' at start is being expanded to a file path. How to stop this?

查看:19
本文介绍了开始时带有'/'的Git Bash-字符串参数正在展开为文件路径。怎么才能阻止这一切呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

今天早些时候,我尝试在SubjectAltName扩展中生成带有DNSName条目的证书:

$ openssl req -new -subj "/C=GB/CN=foo" -addext "subjectAltName = DNS:foo.co.uk" 
-addext "certificatePolicies = 1.2.3.4" -key ./private-key.pem -out ~/req.pem

此命令导致以下错误消息:

名称的格式应为/type0=value0/type1=value1/type2=...其中的字符可以通过。此名称的格式不是:‘C:/Program Files/Git/C=GB/CN=foo’ 发出证书申请时出现问题

如何才能阻止Git Bash将此字符串参数视为文件路径,或者至少阻止它进行此更改?

推荐答案

今天Git Bash 2.21.0更新的发行说明提到这是一个已知问题。幸运的是,他们还描述了两种解决问题的方案:

如果指定以斜杠开头的命令行选项,POSIX到Windows的路径转换将启动转换,例如将";/usr/bin/bash.exe";转换为";C:Program FilesGitusrinash.exe";。如果不需要这样做--例如";--upload-pack=/opt/git/bin/git-upload-pack";或-L/regex/";--您需要临时设置环境变量MSYS_NO_PATHCONV,如下所示:

MSYS_NO_PATHCONV=1 GIT故障-L/pathconv/msys2_Path_Conv.cc

或者,您可以将第一个斜杠加倍以避免POSIX到Windows路径的转换,例如";//usr/bin/bash.exe";。

这篇关于开始时带有'/'的Git Bash-字符串参数正在展开为文件路径。怎么才能阻止这一切呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆