通过shell脚本传递一个空格分隔系统属性不起作用 [英] Passing a space-separated System Property via a shell script doesn't work
本文介绍了通过shell脚本传递一个空格分隔系统属性不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的bash文件:
I have this bash file:
#/bin/bash
PROP="-Dprop=foo bar"
java $PROP -jar Foo.jar
所以,我想在这里做的是通过一个空格分隔的列表作为一个系统属性。但是,这并不会自动工作:
So, what I want to do here is pass a space-separated list as a System Property. But this somehow does not work:
Caused by: java.lang.ClassNotFoundException: bar
所以,似乎猛砸突破 -Dprop = foo的酒吧
成 -Dprop = foo的
,栏
。我什么都试过,从双引号引起来转义空格字符,但似乎没有任何工作。
So, it seems that Bash breaks -Dprop=foo bar
up into -Dprop=foo
, bar
. I tried everything from double quoting to escaping the space character but nothing seems to work.
推荐答案
您需要添加周围的shell脚本$变量引号:
You need to add the quotation marks around the shell script $ variable:
PROP="-Dprop=foo bar"
java "$PROP" -jar Foo.jar
这篇关于通过shell脚本传递一个空格分隔系统属性不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文