我創建了一個名爲「myscript.h」的簡單bash腳本,我給它一個.h擴展名,原因是我不會在這裏透露。這個bash腳本位於「/ var/ftp /帶空格的東西」中。如何在文件路徑中有空格時使用「system()」執行bash腳本?
從終端,我可以輸入「/ var/ftp/something with spaces/myscript.h」,該腳本完美地工作。
不過,從我的C程序中,我在
system("/var/ftp/something with spaces/myscript.h")
類型,並且抱怨說, 「在/ var/FTP /東西」 是找不到的。我已經改變了我的系統調用與向前以下斜槓:
system("/var/ftp/something\ with\ spaces/myscript.h")
但是,它仍然抱怨說,「在/ var/FTP /東西」是找不到的。假設我無法更改目錄名稱,我該如何解決這個問題?
謝謝!
請看看[編輯的幫助(HTTP:// stackoverflow.com/editing-help)。 – Cyrus
嘗試在字符串中使用轉義序列\「:」 system(「\」/ var/ftp/something with spaces/myscript.h \「」); – ScottK
使用'.h來調用您的bash腳本很有趣'extension ... –