我正在使用 shell 脚本来调用 java 程序。当调用传递 java 程序时,我传递了 -Dargument,它有一个目录的路径。这个 -D 参数是从文件中读取的。现在,当此路径包含空格时,我面临一个问题。我尝试使用引号和转义引号,但两者都有效。
这是我的 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"
当我使用 set -x 设置回显时,我看到 shell 将其转换为
'-Dargument1="/Path' '/To' 'A/File"'
它在遇到空格时添加单引号并且我得到“/To”类未找到异常。如何解决这个问题。任何建议或帮助都将非常可观。