4

传递给我的 java 程序的参数之一是这样的,ab|cd. 最初,当我像这样运行java程序时,

$ java 类名 ab|cd

它失败了,因为|在 linux shell 中被解释为管道符号。所以只有ab传入java程序。所以我做了第二次尝试:

$ java 类名 "ab|cd"

这一次,"ab|cd"是传入的,但该值包含双引号。该程序真正打算拥有的是ab|cd. 如何在没有引号的情况下传递正确的值?

4

5 回答 5

8

在命令 shell 中,您可以使用 '\' 字符转义字符。

 java className ab\|cd
于 2012-06-22T16:50:16.073 回答
3

尝试(对于 Linux):

$ java className ab\|cd

对于 Windows:

java className ab^|cd
于 2012-06-22T16:54:13.310 回答
2

尝试这个,

"\" is used inorder to nullify the effect of the characters which have special meanings.

java className ab\|cd
于 2012-06-22T16:57:59.440 回答
2

您可以像以下代码一样使用转义字符:

$ java className ab\|cd
于 2012-06-22T16:54:20.953 回答
-2

也许试试这个:

arg="ab|cd"
java className $arg
于 2012-06-22T16:53:11.853 回答