2015-02-04 2 views
0
counter=0 
if [ ${counter} < 10 ]; then 
    echo 10 
fi 

오류 : 해당 파일 또는 디렉토리가 없습니다.해당 파일 또는 디렉토리 오류가 없습니다.

무엇이 잘못 되었나요?

+3

'<'는'['연산자가 아닙니다. 당신은'-lt'를 원한다. '<'는 입력 재 지정을위한 것입니다. 그 오류는 어딘가에서 '10'이어야합니다. –

+0

알겠습니다. 감사 !! – user2711819

+0

여기'if [$ {counter} <10]; then '은 [$ {counter}] <10 인 경우와 동일합니다. then'과'if $ {counter} <10; 그때'. – pynexj

답변

1

< 기호 (셸 리디렉션 용) 대신 -lt 옵션을 사용하여 테스트해야합니다. <와

counter=0 
if [ ${counter} -lt 10 ]; then 
    echo 10 
fi 

는, 쉘은 실제로 명령 [ ${counter} (일명 test ${counter})의 표준 입력 (10)라는 이름의 파일을 읽으려고합니다.

man test은 내가 항상 자신을 안심시키기 위해 끊임없이 참조하는 것 중 하나입니다.