Bash剥离引号-如何保留引号



我需要将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"

相关内容

  • 没有找到相关文章

最新更新