9

当我使用 git bash 时,有时我想调用我的$PATH(实际上是我的%PATH%)上的命令,但是如果该命令位于带有空格的文件夹中的某个位置,则它无法运行。

例如,如果程序打开C:\Program Files\whatever\aCmd.exe并且我aCmd在 bash 上键入,它会说“程序”不是一个有效的程序等。

我所做的是在没有空格的文件夹中重新安装程序,但最近我的同事开始离开 git-gui 并使用 git-bash,经常出现的问题是“我如何执行 aCmd”以及当我告诉他们时要重新安装它,它们会像 ¬¬

问:如何在 git-bash 中执行位于带有空格的文件夹中的命令?

4

4 回答 4

22

只需将要执行的命令放在双引号之间,就像这样

"C:\Program Files\whatever\aCmd.exe"
于 2012-05-17T19:31:57.650 回答
4

如果文件名中有特殊字符(空格、$、括号...),您需要在字符前面放置一个反斜杠,以便它按原样读取。

例如,如果您想直接从 Bash 运行程序 notepad++.exe,并且需要将路径指向:

C:\Program Files (x86)\Notepad++\

然后,您将在 bash.rc 文件中对路径进行编码,如下所示:

export PATH=$PATH:/c/Program\ Files\ \(x86\)/Notepad++:<path2>:<path3>:...<pathn>:

注意引导空格和括号的反斜杠。

您甚至可以在 bash.rc 文件的下一行添加额外的一行:

alias npp=notepad++

这将创建一个快捷方式,允许您直接在 Bash 中输入npp,而不必每次都输入完整的程序名称notepad++ 。

我是个菜鸟,4 天前才开始编码,虽然我发现这个问题的最佳网站如下: http ://www.grymoire.com/unix/Quote.html

希望这可以帮助!:D

于 2014-09-20T04:10:23.607 回答
4

要到达路径中包含空格的目录,您只需将整个路径用引号括起来。它应该如下所示:

cd "/c/一些文件夹/一些其他文件夹/"
于 2014-07-23T08:28:25.723 回答
1

git-bash 中的命令接受双引号内的路径

"C:\Program Files\whatever\aCmd.exe"

或反斜杠以避开空白空间

c/Program\ Files/whatever/aCmd.exe

希望能帮助到你!

于 2018-08-29T16:55:45.163 回答