리시 :
내 자바 인수의 데이터의 일부로 '$'또는 '&'를 통과 할 때 나는 데이터 절단을 얻고있다. 나는 그 문제가 이스케이프 문자를 사용하여 '\' '$'전에 해결할 수 있습니다 알고 있지만 나는 우리가이 단지 '$'또는 '&'가 아니라 같은 다른 특수 문자에 대한보고있는 이유를 이해하지 못하는 '@', '#', '%', '^'또는 '*'
다음은이 오류를 재현하는 내 독립 테스트 케이스입니다
import java.util.Arrays;
public class Main{
public static void main(String [] args)
{
System.out.println(Arrays.toString(args));
System.out.println(args[0]);
}
}
입력
java Main name=Daniel$Burgers
산출
[name=Daniel]
name=Daniel
존 소총 :
이것은 자바 문제가되지 않습니다 - 그것은 당신의 쉘; 명령 줄이있는 당신은 코드를 실행하고 있습니다. $
일반적 껍질 변수 교체를 위해 사용된다; &
일반적으로 백그라운드 프로세스에 사용됩니다. 동일한 사용하여 에코를 볼 것 :
$ echo name=Daniel$Burgers
산출:
name=Daniel
당신은 작은 따옴표로 값을 넣을 경우, 해당 문자열 (다른 작은 따옴표)이 끝날 때까지 아무것도 특별한 작업을 수행하지 쉘을 알려줍니다 :
$ echo 'name=Daniel$Burgers'
산출:
name=Daniel$Burgers
같은 변화는 자바 호출을 수정해야합니다.