2011-10-14 2 views
0

나는 test.groovy라는 그루비 파일이 그 안에 코딩 한 줄이 :이 groovy test ants 같은이 프로그램을 실행하면Groovy 명령 행 인수로 다른 동작이 나타나는 이유는 무엇입니까?

println args[0]; 

, 출력 ants입니다.

하지만 인수와 같은 ants( 다음 내가지고있어 오류 프로그램을 실행하면 그때 내가 ants(로 출력을 얻고 자 (를 벗어날 경우

bash: syntax error near unexpected token (

1). 그러나 (을 이스케이프 처리해야하는 이유는 무엇입니까?

내가 인수 ant's으로 프로그램을 실행하면, 다음 내 단말기는 다음과 같이 만들 것 입력 클릭 :

> 
> 
> 

2) 그리고 난 단지 ctrl+c를 사용하여 프로그램을 종료합니다. 이 경우 실제로 어떻게됩니까? 왜 내 터미널이 이렇게 생겼어?

3) 이러한 것을 확인한 후에, Groovy에서 명령 행 인수 및 Java에 대해 동일한 유지 규칙을 준수해야하는 규칙 및 조건은 무엇입니까?

미리 감사드립니다.

+2

배쉬, 그루비되지 않은 옵션을 구문 분석된다. 'groovy test'를'echo'로 바꾸면 똑같은 결과가 나옵니다. – ataylor

답변

4

당신은 (당신이 사용중인 bash 쉘에서 의미가로 탈출 할 필요가

를 같은이

다른 명령 시도 '에 대한 진행됩니다.

ls (

또는

ls ' 

같은 효과가 나타납니다.

(탈출 이외의) 다른 옵션과 같이 인용 문자 내부에 인수를 넣어하는 것입니다

groovy test 'ants(' 
관련 문제