我需要将cmd参数传递给我的bash脚本,但它一直在去掉引号。
下面是一个例子。在我的脚本中,我添加了一些额外的处理,在处理命令之前,我将数据添加到我的第一个变量中
$> ./test.sh -t some.comman -extraswitch "some addtional info"
该脚本使用Java进行一些处理,但"一些附加信息"缺少引号,因此无法执行该脚本的Java部分。如何保留命令行中的引号,以便在脚本中执行Java命令?
脚本中的Java命令
java $JAVA_OPTS "$@"
输出
java lib -someoption -anotheroption -javalibswitch some additional info
预期输出
java lib -someoption -anotheroption -javalibswitch "some additional info"
当您想在字符串中加引号时,我通常使用单引号来避免shell插值。
./test.sh -t some.comman -extraswitch '"some addtional info"'
您可以传递这样的参数
./test.sh -t some.comman -extraswitch "some addtional info"