我正在使用shell腳本來調用java程序。當調用傳遞Java程序時,我正在傳遞具有目錄路徑的-Dargument。這個-D參數是從文件中讀取的。現在,當這條路徑包含空格時,我正面臨一個問題。我試着用報價和轉義報價,但都努力工作。在Shell腳本中使用帶空格的路徑
這裏是我的shell腳本代碼,test.sh
D_ARG=`(tr '\r\n' ' ' < argument.dat)
\#executing java code by passing above argument
java ${D_ARG} TestProgram
下面是我的參數文件,argument.dat
-Dargument1="/Path /To A/File"
當我設置迴音使用設置-x,我見外殼將其轉換爲
'-Dargument1="/Path' '/To' 'A/File"'
如果它增加了,當它遇到的空間,我得到單引號「/」未找到類除外離子。如何解決這個問題。任何建議或幫助將非常可觀。
但如果我必須在argument.dat文件中定義多個參數,那麼雙方的觀點被認爲是一個字符串,因爲你有沒有指定的參數報價「$ {} D_ARG」 – Mojoy
在原始問題中告訴它);在這種情況下,你的'tr'命令不是處理這個問題的方法。 – fge
查看編輯後的解決方案 – fge