如何在Windows的git-bash中执行位于带有空格的文件夹(如“Program Files”)中的命令?

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

例如,如果程序位于 C:\Program Files\whatever\aCmd.exe,我在 bash 上键入 aCmd,它会显示“Program”不是有效程序等信息。
我的解决方法是在没有空格的文件夹中重新安装该程序,但最近我的同事开始离开 git-gui 并使用 git-bash,经常问的问题是“如何执行 aCmd”,当我告诉他们重新安装时,他们就像¬¬那样反应。
Q. 如何在 git-bash 中执行位于带有空格的文件夹中的命令?
4个回答

22

只需将要执行的命令放在双引号中,如下所示

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

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

4

要进入路径中带有空格的目录,您只需要用引号将整个路径括起来。它应该是这样的:

cd "/c/Some Folder/Some Other Folder/"

1
在 git-bash 中,命令可接受用双引号括起来的路径或使用反斜杠转义空格的路径。例如:"C:\Program Files\whatever\aCmd.exe"c/Program\ Files/whatever/aCmd.exe。希望这可以帮助您!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接