Linux Bash shell script

변수와 사용자 입력

임베디드 친구 2025. 1. 19. 10:26
반응형

Linux Bash Shell 스크립트에서 변수와 사용자 입력은 스크립트의 유연성과 상호작용을 높이는 데 중요한 역할을 합니다. 이번 포스팅에서는 변수 선언 및 사용 방법과 사용자 입력을 처리하는 방법을 예제와 함께 알아보겠습니다.

변수 선언과 사용

변수 선언

Bash에서는 변수를 선언할 때 특별한 키워드가 필요하지 않습니다. 변수 이름과 값 사이에 공백을 넣지 않는 것이 중요합니다.

# 변수 선언
variable_name="Hello, World!"

# 변수 출력
echo $variable_name

변수 이름 규칙

변수 이름을 선언할 때 다음 규칙을 따라야 합니다:

  • 변수 이름은 문자, 숫자, 밑줄(_)로만 구성됩니다.
  • 변수 이름은 숫자로 시작할 수 없습니다.
  • 대소문자를 구분합니다.

변수 사용

변수 값을 참조하려면 $ 기호를 사용합니다. 예를 들어:

name="소프트웨어 공장"
echo "블로그 이름은 $name 입니다."

출력:

블로그 이름은 소프트웨어 공장 입니다.

변수 재할당

변수는 선언 후 재할당이 가능합니다:

var="초기 값"
echo $var

var="새 값"
echo $var

출력:

초기 값
새 값

사용자 입력 처리

Bash에서 read 명령어를 사용하여 사용자 입력을 받을 수 있습니다.

기본 사용자 입력

#!/bin/bash

# 사용자 입력 받기
read -p "이름을 입력하세요: " name

echo "안녕하세요, $name 님!"

위 스크립트를 실행하면 사용자로부터 이름을 입력받고 환영 메시지를 출력합니다.

예제: 두 숫자의 합 구하기

#!/bin/bash

# 사용자로부터 두 숫자를 입력받기
read -p "첫 번째 숫자를 입력하세요: " num1
read -p "두 번째 숫자를 입력하세요: " num2

# 숫자의 합 계산
sum=$((num1 + num2))

echo "두 숫자의 합은 $sum 입니다."

입력 검증

사용자가 숫자를 입력했는지 확인하려면 조건문을 사용할 수 있습니다:

#!/bin/bash

read -p "숫자를 입력하세요: " input

if [[ $input =~ ^[0-9]+$ ]]; then
    echo "$input 은(는) 유효한 숫자입니다."
else
    echo "$input 은(는) 숫자가 아닙니다."
fi

다중 입력 처리

read 명령어는 한 줄에 여러 값을 입력받을 수도 있습니다.

#!/bin/bash

# 사용자로부터 여러 값을 입력받기
read -p "이름과 나이를 입력하세요 (예: 홍길동 25): " name age

echo "이름: $name, 나이: $age"

환경 변수와 사용자 정의 변수

환경 변수

환경 변수는 시스템 전체에서 사용할 수 있는 변수입니다. 예를 들어, HOMEPATH는 자주 사용하는 환경 변수입니다:

echo "홈 디렉토리: $HOME"
echo "PATH: $PATH"

사용자 정의 변수와 환경 변수의 차이

사용자 정의 변수는 기본적으로 현재 스크립트에서만 사용할 수 있습니다. 이를 환경 변수로 승격시키려면 export 명령어를 사용합니다:

#!/bin/bash

# 사용자 정의 변수
my_var="Hello"
echo $my_var

# 환경 변수로 승격
export my_var
echo "환경 변수로 설정된 값: $my_var"

예제: 간단한 메뉴 만들기

다음은 사용자 입력과 변수를 사용하여 간단한 메뉴를 구현한 예제입니다:

#!/bin/bash

while true; do
    echo "\n메뉴"
    echo "1. 현재 날짜와 시간 보기"
    echo "2. 사용자 이름 출력"
    echo "3. 종료"
    read -p "선택하세요 (1-3): " choice

    case $choice in
        1)
            echo "현재 날짜와 시간: $(date)"
            ;;
        2)
            read -p "이름을 입력하세요: " username
            echo "안녕하세요, $username 님!"
            ;;
        3)
            echo "프로그램을 종료합니다."
            break
            ;;
        *)
            echo "잘못된 선택입니다. 다시 시도하세요."
            ;;
    esac
done

정리

이번 포스팅에서는 변수 선언 및 사용 방법과 사용자 입력 처리 방법에 대해 배워보았습니다. 변수는 스크립트의 데이터를 저장하고 재사용하는 데 매우 유용하며, read 명령어는 사용자와의 상호작용을 가능하게 합니다.

위의 예제들을 실습하며 Bash 스크립트 작성에 익숙해져 보세요.

반응형