如何将gitbash与包含ASCII感叹号字符的文件名一起使用,如!0-MyFolder

如何将gitbash与包含ASCII感叹号字符的文件名一起使用,如!0-MyFolder,bash,command-line,git-bash,Bash,Command Line,Git Bash,我需要在MS Windows上使用gitbash,文件夹名称的第一个字符包含感叹号,如“!0-MyProjectFolder”(不带引号)。我使用感叹号将Microsoft Windows文件排序到顶部,因为Windows不提供索引和强制文件和文件夹排序顺序的方法 Gitbash不断给我错误消息: 我已经尝试了几种语法: $ cd "!0-Projects-WIP" bash: !0: event not found $ cd "\!0-Projects-WIP" bash: \!0: eve

我需要在MS Windows上使用gitbash,文件夹名称的第一个字符包含感叹号,如“!0-MyProjectFolder”(不带引号)。我使用感叹号将Microsoft Windows文件排序到顶部,因为Windows不提供索引和强制文件和文件夹排序顺序的方法

Gitbash不断给我错误消息:

我已经尝试了几种语法:

$ cd "!0-Projects-WIP"
bash: !0: event not found

$ cd "\!0-Projects-WIP"
bash: \!0: event not found

$ cd !0-Projects-WIP
bash: !0: event not found
请清楚,我不是在分析位于的StackOverflow帖子中的“/New.*desktop.*is/!d”这样的字符串

我正在将目录名!0-Projects-WIP传递给GitBash,以便我可以更改为名为!0-Projects-WIP的目录。我不打算进行双引号或历史扩展。如果文件夹名称中的感叹号似乎是历史扩展指令,则这不是预期的结果。必须在我的cas中转义e,以便将其作为文件夹名称的一部分正确读取,并且shell命令“cd”将其解释为字符串


现在我意识到!0-Projects-WIP对于Unix shell解析器来说可能是个坏名字,因为它指示命令行解析器执行我无意中执行的操作,但对于MS Windows命令行shell来说,没有任何混淆。

我让它只使用字符串前面的一个转义字符:

$ cd \!0-Projects-WIP

rlysa@domainname MINGW64 /c/users/rlysak01/desktop/!0-Projects-WIP (master)
$

简单的解决方案。文件夹名称字符串上不需要引号。

我的命令的意图可能与中的其他海报的意图不同。解决方案在我的情况下也不同。可能重复
$ cd \!0-Projects-WIP

rlysa@domainname MINGW64 /c/users/rlysak01/desktop/!0-Projects-WIP (master)
$