2012-06-22 3 views
3

Один из аргументов, переданных моей программе java, выглядит следующим образом: ab|cd. Изначально, когда я запустить программу Java, как это,Как передать аргумент командной строки: «|» к java-программе

$ Java имя класса AB | CD

это не удается, так как | интерпретируется в Linux оболочку как символ трубы. Таким образом, только ab передается в программу java. Так что я сделал вторую попытку:

$ ява Classname "AB | CD"

На этот раз, "ab|cd" передается в сеть, но стоимость включает в себя двойные кавычки. То, что программа действительно предназначено, - ab|cd. Как я могу передать правильное значение без кавычек?

+0

вы можете также кавычки (' "аб | CD" или' 'аб | CD') 'аргументы командной строки –

ответ

8

В командной оболочке вы можете избежать символов, используя символ «\».

java className ab\|cd 
-2

Может попробовать это:

arg="ab|cd" 
java className $arg 
3

Try (для Linux):

$ java className ab\|cd 

Для Windows:

java className ab^|cd 
2

Вы можете маскирующим как следующий код .:

$ java className ab\|cd 
2

Попробуйте это,

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

java className ab\|cd 
Смежные вопросы