开始时带有';/';的Git Bash-字符串参数正在展开为文件路径。怎么才能阻止这一切呢? [英] Git Bash - string parameter with '/' at start is being expanded to a file path. How to stop this?
本文介绍了开始时带有';/';的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屋!
查看全文