我在Windows上运行Cygwin的bash。我想在另一个目录中运行一个可执行程序,但是如果目录名包含空格则似乎存在问题。我可以从它自己的目录运行exe(C:/ someUser / myPrograms / Project Name With Spaces /)没问题,
./myFile.exe
但是,如果我在另一个目录(/ cygdrive / c)并尝试使用完整目录路径运行可执行文件,即使我引用该名称来处理空格,它似乎也不起作用,
./"C:/someUser/myPrograms/Project Name With Spaces/myfile.exe"
-bash: ./C:someUser/myPrograms/Project Name With Spaces/myfile.exe: No such file or directory
如果我用ls替换./,找到可执行文件没有问题,所以我知道我输入了正确的路径名。
是否有另一种方法可以运行可以使用空格处理全名的可执行文件?
答案 0 :(得分:2)
你需要引用它:
'some cmd'
最好确保您的可执行文件名称及其路径不包含空格。
但问题是你误解了.
这意味着当前目录。由于您运行的路径不是当前文件夹的子文件夹 - 请删除前面的./
。
答案 1 :(得分:1)
您可以对空格使用转义:'\ '
答案 2 :(得分:1)
对于cygwin,你会想要一个
"/cygdrive/c/someUser/myPrograms/Project Name With Spaces/myfile.exe"
/cygdrive/c/someUser/myPrograms/Project\ Name\ With\ Spaces/myfile.exe
"$(cygpath -u "C:\someUser\myPrograms\Project Name With Spaces\myfile.exe")"