$ cat isnum.sh
#!/bin/sh
v=$1
r=${v//[0-9]/}
if [ -z "$r" ] ; then
echo "$v is number."
else
echo "$v is not number."
fi
$ sh isnum.sh 1234
1234 is number.
$ sh isnum.sh 1a234
1a234 is not number.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
$ cat isnum.sh
#!/bin/sh
v=${1}
r=${v#-}
r=${r//[0-9]/}
if [ -z "$r" ] ; then
echo "$v is number."
else
echo "$v is not number."
fi
$ sh isnum.sh 1234
1234 is number.
$ sh isnum.sh -1234
-1234 is number.
$ sh isnum.sh 1-234
1-234 is not number.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
꽁수..
음수는 무시한다면... ;;
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
음수 추가 꽁수..
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
답변
답변 감사드립니다.
r=${v#-}
${v#-}의 역할이 패턴에서 첫단어의 -를 없애주는 역할을 하는군요.
r=${r//[0-9]/}
${r//[0-9]/} 는 숫자를 빈문자로 교체해주는 작업이네요.
혹 문법이 Bash 에서만 쓸 수 있을것 같습니다.
다른 OS 에서 테스트를 해봐야겠네요 ^^
모르는 것이 많네요. 잘배워갑니다!
----------------
노력만이 살길이다.
노력만이 살길이다.
패턴검사를 해보시면 될거 같은데요..
쉘 내장 함수같은게 있는진 모르겠습니다만...
다음샘플처럼 입력받은 값을 패턴검사 해보면 어떨런지요?
--이하 허접샘플 (^^) --
살짝수정및 오타수정...^^
패턴을 검사하는
패턴을 검사하는 방법도 있었군요. ^^ 답변감사드립니다.
----------------
노력만이 살길이다.
노력만이 살길이다.
다음과 같이 하시면 될것 같습니다.
만일 if 문을 사용하신다면
답변감사드립니다. "^
답변감사드립니다.
"^[-\?[0-9]\+\.\?[0-9]*$" 정규표현식으로 패턴을 찾는 것같은데, 좀복잡하게 보입니다.
어떤표현인지 설명해주실 순 없나요?
----------------
노력만이 살길이다.
노력만이 살길이다.
bash 3.0 이상이라면,
pattern='~[0-9]+$'
if [[ $my_number =~ $pattern ]]; then
echo "this is number only"
fi
bash 3.0 이상이라면,
pattern='~[0-9]+$'
if [[ $my_number =~ $pattern ]]; then
echo "this is number only"
fi
댓글 달기