我在Windows上運行Cygwin的bash。我想在另一個目錄下運行一個可執行程序,但如果目錄名稱包含空格,則似乎存在問題。我可以從自己的目錄(C:/ SomeUser的/ myPrograms /項目名稱用空格/)運行exe沒有問題,如何在bash中運行可執行文件,如果名稱有空格?
./myFile.exe
但是,如果我在其他目錄(/ cygdrive/C),並嘗試運行帶有完整路徑的可執行文件,它似乎並不即使我雙引號來處理空間的名稱。如果我更換./與ls一起工作,
./"C:/someUser/myPrograms/Project Name With Spaces/myfile.exe"
-bash: ./C:someUser/myPrograms/Project Name With Spaces/myfile.exe: No such file or directory
它有沒有問題,找到可執行文件,所以我知道我輸入了正確的路徑名。
是否有另一種方式來運行可以處理全名與空格的可執行文件?
其中的 「./」 通常指的是當前目錄。你在哪個目錄?從路徑和文件擴展名,它看起來像你在Windows上運行。你用什麼來運行bash?例如Cygwin的? 「Git Bash在這裏」? – DarthPablo
如果你想知道你的'bash'實現/仿真的最佳實踐,應該回答上面的評論。一般來說,無論是理解windows路徑還是接受它們作爲命令,你只需要刪除前面的'。/'(例如:'git-bash'),否則你就不應該使用更習慣的方式來解決你的可執行文件(例如:'Cygwin',它通常理解引用的Windows路徑,但拒絕接受它們作爲命令)。還有其他多種實現方式,因此通用答案不易生成。 – Aaron
謝謝,我沒有意識到實現會有所不同!我編輯了這個問題,以反映我從Cygwin運行它。 – KAE