쉘프로그래밍 몇가지 질문드려요.

hyojin9191의 이미지


첫번째는요!

식을 인자로 받아서.. 예를 들면 Calc.sh 라는 파일이라치면 sh Calc.sh 1 * 2

요런식으로 식을 입력받아서 계산되게 하는 프로그램인데요!

case문으로 수식 입력 받는데 저 인자가 *면 이상하게 두번째 인자 받은 값은 02가 되고 뒤에 꺼는 03이 되서
첫번째 인자에 무조건 3이 곱해지는 답이 나와요!!!!!! 왜그런걸까요 ㅠㅠㅠ

qiiiiiiiip의 이미지

다른 디렉토리에서 해보세요.
shell globbing 을 찾아보세요.
*를 '*' 로 바꾸세요.

익명 사용자의 이미지

소스를 공개해 주셔야 답변이 가능합니다 ㅎㅎ

navs의 이미지

아마 실행파일이름이 02 나 03 이겠군요.
shell 에서 * 라고 하면 . 으로 시작하는 파일을 제외한 모든 파일을 의미하는 wildcard 로 인식이되어 만약 디렉토리의 파일이름으로 확장될 것입니다.

----------------------
navs:KIM Hyuntak
----------------------