[완료]bash에서 인자 입력받아 실행할때 에러가 납니다.

0
points

안녕하세요.

bash공부한지 얼마 되지 않은 초보입니다.

스스로 해결을 할려고 노력을 하는데도 도무지 저 문제는 왜 나타나는건지 모르겠네요

bash에서 인자를 입력받아 실행을 하는 스크립트를 짜고 있습니다.

인자를 2개를 입력받는데...

if [$2 = ]; then
echo "Command [source] [directory]"
exit 0
fi

위의 스크립트를 이용 인자 입력 유무를 확인하게 됩니다.
이렇게 하여 인자를 입력받지 않으면 다시 입력하라고 출력을 하고 종료를 하게 되는데요

그런데 인자를 정확히 다 입력하지 않고 실행하면 문제없이 깔끔하게 종료가 되는데 정확하게 2개를 입력하면 프로그램은 정상 동작하나

./mvdi2: line 44: [kk: command not found

실행을 하면 계속 이렇게 에러가 출력이 되네요.

실행예는 ./mvdi test kk 라고 입력을 했습니다.

두번째 인자문구가 계속 에러로 뜨더군요. line 44의 위치가 바로 위의 if문입니다.

bash가이드를 따라서 했는데도 저렇게 입력이 되는데 도대체 왜 저런건가요?

좀 도와주세요~

아마도, 의도시신

0
points

아마도, 의도시신 바는... $2가 없으면,,, 을 하신것 같은데... 그건... [ -z "$2" ]와 같이 하시면 되고...

아래와 같이 하시는게 더 좋아보여요!~

if [ $# -le 2 ]; then
   echo "Command [source] [directory]"
   exit 0
fi

답변 감사합니다.

0
points

답변 감사합니다~ ^^

이제 안뜨네요...

bash가 참..복잡해보이면서도 쉬운거 같기도 하고

참 아리송한거 같네요~~

고맙습니다~

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.