如何传递命令行参数包括“|”到java程序

时间:2012-06-22 16:47:06

标签: java command-line arguments

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

  

$ java className ab | cd

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

  

$ java className“ab | cd”

这次传入"ab|cd",但该值包含双引号。该计划的真正目的是ab|cd。如何在没有引号的情况下传递正确的值?

5 个答案:

答案 0 :(得分:8)

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

 java className ab\|cd

答案 1 :(得分:3)

尝试(适用于Linux):

$ java className ab\|cd

对于Windows:

java className ab^|cd

答案 2 :(得分:2)

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

$ java className ab\|cd

答案 3 :(得分:2)

试试这个,

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

java className ab\|cd

答案 4 :(得分:-2)

也许试试这个:

arg="ab|cd"
java className $arg