Bash 조건문에서 사용자 정의 테스트 기능 사용

Bash 조건문에서 사용자 정의 테스트 기능 사용

또는 numeric중 하나를 반환하는 bash 함수가 있습니다 .10

numeric ()
{
  # compute k either 1 or 0
  echo "$k"
}

변수가 숫자인지 확인하기 위해 조건문에서 이 함수를 어떻게 사용할 수 있습니까 var?

답변1

쉘 조건식의 맥락에서 반환 값은 0"성공" 또는 "true"를 의미하고 0이 아닌 값은 "실패" 또는 "false"를 의미하므로 다음과 0같은 경우에 반환되도록 함수를 조정하는 것이 좋습니다. 인수는 숫자 값입니다.

"조건문"이 if구문이라고 가정하면 다음이 작동합니다.

if numeric "$var"
then
   # Code if $var is numeric
else
   echo "$var is not numeric"
fi

답변2

반환을 사용

numeric ()
{
  # compute k either 1 or 0 || return 1
  echo "$k"
  return 0
}

numeric || exit 1

관련 정보