본문 바로가기

언어/Bash

[ Bash ] shell 스크립트에서 입력 값 받기

반응형

Bash 스크립트에서 파라미터로 입력값을 받아 사용하는 방법은 매우 간단합니다. 스크립트 실행 시 전달된 입력값은 $1, $2, $3 등의 위치 파라미터를 통해 접근할 수 있습니다. 아래는 Bash 스크립트에서 입력값을 사용하는 일반적인 방법과 예시입니다.


 

1. 위치 파라미터 사용

스크립트 실행 시 제공된 인수를 $1, $2, ..., $n으로 참조합니다.

#!/bin/bash

# 첫 번째와 두 번째 인수를 변수에 저장
arg1=$1
arg2=$2

# 출력
echo "첫 번째 인수: $arg1"
echo "두 번째 인수: $arg2"

사용 예시:

$ ./myscript.sh Hello World
첫 번째 인수: Hello
두 번째 인수: World

 

2. 모든 인수 처리

  • $@ : 모든 인수를 배열처럼 취급 (각 인수를 따로 유지).
  • $* : 모든 인수를 하나의 문자열로 취급 (공백으로 구분).
#!/bin/bash

# 모든 인수를 출력
echo "모든 인수 (\$@): $@"
echo "모든 인수 (\$*): $*"

# 인수를 순회
for arg in "$@"; do
    echo "인수: $arg"
done

사용 예시:

$ ./myscript.sh foo bar baz
모든 인수 ($@): foo bar baz
모든 인수 ($*): foo bar baz
인수: foo
인수: bar
인수: baz

 

 

3. 인수 개수 확인

$#를 사용하여 전달된 인수의 개수를 확인할 수 있습니다.

#!/bin/bash

# 인수 개수 확인
echo "전달된 인수의 개수: $#"

사용 예시:

$ ./myscript.sh a b c
전달된 인수의 개수: 3

 

 

4. 기본값 설정

입력값이 없을 경우 기본값을 설정할 수도 있습니다.

#!/bin/bash

# 첫 번째 인수가 없으면 기본값 사용
arg1=${1:-default_value}

echo "첫 번째 인수: $arg1"

사용 예시:

$ ./myscript.sh
첫 번째 인수: default_value

$ ./myscript.sh input_value
첫 번째 인수: input_value

 

 

5. 네임드 파라미터 처리 (옵션 처리)

getopts를 사용하면 옵션 형태로 인수를 처리할 수 있습니다.

#!/bin/bash

while getopts "a:b:c" opt; do
  case $opt in
    a) echo "옵션 -a의 값: $OPTARG" ;;
    b) echo "옵션 -b의 값: $OPTARG" ;;
    c) echo "옵션 -c가 선택됨" ;;
    ?) echo "알 수 없는 옵션" ;;
  esac
done

사용 예시:

$ ./myscript.sh -a value1 -b value2 -c
옵션 -a의 값: value1
옵션 -b의 값: value2
옵션 -c가 선택됨

이 방법들을 활용하면 Bash 스크립트에서 유연하게 입력값을 처리할 수 있습니다. 필요에 따라 조합해서 사용할 수 있습니다!

반응형