IT TIP

매개 변수가 bash 스크립트에 제공되었는지 확인하는 방법

itqueen 2020. 11. 20. 17:29
반응형

매개 변수가 bash 스크립트에 제공되었는지 확인하는 방법


이 질문에 이미 답변이 있습니다.

내 bash 스크립트에 하나의 매개 변수가 제공되었는지 확인하고 싶습니다.

내가 발견 있지만, 모든 솔루션은 불필요하게 복잡 할 것 같다.

초보자가 이해할 수있는이 간단한 문제에 대한 간단한 해결책은 무엇입니까?


$#제공된 인수의 수와 동일한 사용 , 예 :

if [ "$#" -ne 1 ]
then
  echo "Usage: ..."
  exit 1
fi

주의 사항 : 함수 내에서 이것은 스크립트가 아닌 함수에 제공된 인수의 수와 같습니다.

편집 : bash에서 SiegeX지적했듯이 (( ... )). 다음과 같이 사용할 수 있습니다.

if (( $# != 1 ))
then
  echo "Usage: ..."
  exit 1
fi

허용 된 솔루션 주어진 매개 변수 수에 대해 테스트하여 매개 변수가 설정 되었는지 확인합니다 . 이것이 원하는 검사가 아닌 경우, 즉 특정 매개 변수가 설정 되었는지 여부를 대신 확인하려는 경우 다음을 수행합니다.

for i in "$@" ; do
    if [[ $i == "check parameter" ]] ; then
        echo "Is set!"
        break
    fi
done

또는 더 간결하게 :

for i in "$@" ; do [[ $i == "check argument" ]] && echo "Is set!" && break ; done

if (( "$#" != 1 )) 
then
    echo "Usage Info:…"
exit 1
fi

참고 URL : https://stackoverflow.com/questions/8968752/how-to-check-that-a-parameter-was-supplied-to-a-bash-script

반응형