Program Tip

Bash의 명령 줄 인수

programtip 2020. 11. 4. 08:15
반응형

Bash의 명령 줄 인수


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

다른 인수를 사용하는 bash 스크립트를 작성하고 싶습니다. 일반 리눅스 콘솔 프로그램처럼 사용해야합니다 :

my_bash_script -p 2 -l 5 -t 20

따라서 값 2는 pages라는 변수에 저장해야하고 매개 변수 l은 length라는 변수에 저장해야하고 값 20은 가변 시간에 저장해야합니다.

이를 수행하는 가장 좋은 방법은 무엇입니까?


getopts내장 기능 사용 :
여기 튜토리얼이 있습니다.

pages=  length=  time=

while getopts p:l:t: opt; do
  case $opt in
  p)
      pages=$OPTARG
      ;;
  l)
      length=$OPTARG
      ;;
  t)
      time=$OPTARG
      ;;
  esac
done

shift $((OPTIND - 1))

shift $((OPTIND - 1)) 스크립트에 가능한 인수에 액세스 할 수 있도록 명령 줄 매개 변수를 이동합니다. $1, $2, ...


라인을 따라 뭔가

pages=
length=
time=

while test $# -gt 0
do
    case $1 in
        -p)
            pages=$2
            shift
            ;;
        -l)
            length=$2
            shift
            ;;
        -t)
            time=$2
            shift
            ;;
        *)
            echo >&2 "Invalid argument: $1"
            ;;
    esac
    shift
done

참고 URL : https://stackoverflow.com/questions/12036445/command-line-arguments-in-bash

반응형