bash 스크립트에 전달 된 매개 변수가 문자열과 일치하는지 확인하려는 스크립트를 작성하려고합니다. 내가 지금 설정하는 방법은
if [ "$3" != "-disCopperBld" -a "$4" != "-disCopperBld" -a "$5" != "-disCopperBld" -a "$6" != "-disCopperBld"]
그러나 많은 매개 변수가있을 수 있으므로 더 좋은 방법이 있는지 궁금합니다.
감사
편집 :이 코드 덩어리를 시도하고 옵션 -disableVenusBld와 함께 스크립트를 호출했지만 여전히 "빌드 시작"을 인쇄합니다. 내가 뭔가 잘못하고 있습니까? 미리 감사드립니다!
while [ $# -ne 0 ]
do
arg="$1"
case "$arg" in
-disableVenusBld)
disableVenusBld=true
;;
-disableCopperBld)
disableCopperBld=true
;;
-disableTest)
disableTest=true
;;
-disableUpdate)
disableUpdate=true
;;
*)
nothing="true"
;;
esac
shift
done
if [ "$disableVenusBld" != true ]; then
echo "Starting build"
fi
#! /bin/sh -
당신이 거기에 포함 된 것의 상단에 추가 하고 스크립트를 실행 가능하게 한 다음 ./t.sh
"빌드 시작" 을 인쇄하지만 ./t.sh -disableVenusBld
아무것도 인쇄하지 않습니다.