2013-03-15 3 views
0

인수를 기록하려고하면 올바른 값을 얻습니다. 인수가 csh 스크립트의 특정 문자열인지 어떻게 비교할 수 있습니까? 그리고 bash에서 해당 코드는 무엇입니까?함수에 전달 된 인수의 값 확인

checkstatus() 
{ 
    /bin/echo $1 >> outfile.txt 

if ["$1" = "show"] 
then 
    /bin/echo "it is show" >> outfile.txt 
else 
    /bin/echo "it is not show" >> outfile.txt 
fi 
} 


checkstatus show 

출력 파일에는 show가 표시되지만 if 조건에는 false가 표시됩니다. 내가 빠뜨린 쉬운 것임에 틀림 없다.

if [ "$1" == "show" ] 

(2) ISN ': 당신은 (1) "[]"괄호 주위에 공간을 추가하고 (2) "=="대신 "="로 사용하는 경우 배쉬에서

답변

2

가 작동 엄격하게 필요하지만, "="가 대개 할당 연산자로 사용되기 때문에 약간 명확합니다.

+0

변경을 시도합니다 –

+0

잘 작동합니다 .. 감사합니다! –

+2

'=='은 POSIX 호환을 포기하기 때문에 구식'[...] '대신'[[...]]'로 전환 할 수 있습니다. – chepner

관련 문제