2013-10-25 4 views
0

저는 csh/tcsh에서 스크립트를 작성하는 초보자입니다. 그래서 나는 여러분에게 도움을 필요로합니다. 내 스크립트의 인수가 표준 입력란에 올바르게 쓰여 있는지 확인해야합니다. 이 형식의 인수가 있어야하는 'first_script'라는 예제 스크립트가 있습니다. first_script -d (이것이 내 문제입니다) ---> 숫자 (정수 - 숫자 일 수도 있음)가있는 경우 어떻게 알아낼 수 있습니까? -d 인수 후? 나를 도와 주셔서 고맙습니다.인수가 정수인지 알아낼 수 없습니다

+0

이 경우 'getopts'를 사용할 수 있습니다. 예를 보려면이 좋은 대답을 확인하십시오.> http://stackoverflow.com/a/14203146/1983854 – fedorqui

답변

0

프로세스는 문자열을 인수로 전달할 수 있으므로 얻을 수있는 것은 항상 문자열입니다. 값을 필요한 것 (예 : 정수)으로 해석하는 것은 사용자의 몫입니다.

주어진 문자열이 숫자로만 구성되어 있는지 확인하면 문제가 해결 될 것이라고 생각합니다. 이 검사를 수행하는 방법은 여러 가지가 있지만 여기서는 내가 좋아하는 것입니다.

if ("$1" == "-d") then 
    expr "$2" : '[0-9]*$' > /dev/null && echo "We have a number" || echo "We have a non-number" 
endif 
+0

대단히 감사합니다, 당신은 저에게 많은 시간을 저축했습니다 :) 좋은 하루 되세요. – user2919185

관련 문제