传递给我的java程序的一个参数是这样的,ab|cd
。最初,当我运行java程序时,就像这样,
$ java className ab | cd
失败,因为|
在linux shell中被解释为管道符号。所以只有ab
被传递到java程序中。所以我做了第二次尝试:
$ java className“ab | cd”
这次传入"ab|cd"
,但该值包含双引号。该计划的真正目的是ab|cd
。如何在没有引号的情况下传递正确的值?
答案 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