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