2012-06-14 4 views
1

jline 라이브러리를 사용하는 apache karaf 명령 줄을 사용하여 조건부로 명령을 실행하려고합니다.karaf/jline에서 조건 연산자 셸을 사용하는 방법

shell : if 명령에서 문서를 찾을 수 없습니다.

리눅스 쉘에서 예를 들어이 작품 : 나는했습니다

Error executing command shell:if: unable to convert argument condition with value '{foo=foo}' to type org.apache.felix.service.command.Function 

: 나는 오류가

if [ "foo" = "foo" ] echo "good" 

:

if [ "foo" = "foo" ]; then echo "good"; fi 

나는에 karaf에 대한 구문을 변경하는 경우 다른 구문을 시도했지만, 나는 그것을 이해할 수 없다.

+0

대괄호를 벗어나려고 했습니까? –

답변

3

조건 구문은 다음과 같이 작동

>if {true} {echo yes} {echo no} 
yes 
> if {false} {echo yes} {echo no} 
no 

이 명령은 각 부분에 대한 폐쇄를 사용합니다. 이렇게하면 각각의 안에 if를 넣을 수 있습니다. 마법처럼

if { $ENVIRONMENT equals "local" } { 
    echo "*** Altering configuration for local deployment using mocks ***" 
} { 
    echo "*** Skipping ***" 
} 

작품,하지만 난 문서가이 지역에 부족한 동의해야합니다 :

0

내가 이렇게 내 문자열 비교 문제를 해결했습니다. (현재 2014)