通过shell脚本传递一个空格分隔系统属性不起作用 [英] Passing a space-separated System Property via a shell script doesn't work

查看:123
本文介绍了通过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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆