셸 스 크 립 트 는 매개 변수 이름 을 통 해 매개 변수 값 을 전달 합 니 다.

보통 셸 스 크 립 트 를 쓸 때 $1, $2... 이런 방식 으로 인 자 를 받 지만 이런 인 자 를 받 는 방식 은 쉽게 잊 어 버 릴 뿐만 아니 라 이해 하고 유지 하기 도 쉽 지 않다.Linux 에서 자주 사용 하 는 명령 은 매개 변수 이름과 매개 변수 값 을 지정 할 수 있 습 니 다. 그러나 우 리 는 어떻게 해야만 자신의 셸 스 크 립 트 에 도 매개 변수 이름과 매개 변수 값 을 가 져 올 수 있 습 니까?$1, $2 를 통 해 얻 는 것 이 아 닙 니 다.아래 의 예 는 짧 은 매개 변수 이름과 긴 매개 변수 이름 두 가지 매개 변수 값 을 가 져 오 는 방식 을 정의 합 니 다.사실은 getopt 가 제공 하 는 특성 에 따라 정리 한 것 입 니 다.
#!/bin/bash
while getopts s:e:f: OPT; do #                
  case ${OPT} in
    s) START_DAY=${OPTARG} #      
       ;;
    e) END_DAY=${OPTARG} #      
       ;;
    f) SOL_FILE=${OPTARG} #   SQL  
       ;;
    \?)
       printf "[Usage] `date '+%F %T'` `basename $0` -s  -e  -f 
"
>&2 exit 1 esac done # check parameter if [ -z "${START_DAY}" -o -z "${END_DAY}" -o -z "${SOL_FILE}" ]; then printf "[ERROR] `date '+%F %T'` following parameters is empty:
START_DAY=${START_DAY}
END_DAY=${END_DAY}
"
printf "SOL_FILE=${SOL_FILE}
"
exit 1 fi

좋은 웹페이지 즐겨찾기