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"
환경 변수와 사용자 정의 변수
환경 변수
환경 변수는 시스템 전체에서 사용할 수 있는 변수입니다. 예를 들어, HOME
과 PATH
는 자주 사용하는 환경 변수입니다:
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 스크립트 작성에 익숙해져 보세요.
'Linux Bash shell script' 카테고리의 다른 글
Linux Bash Shell Script 조건문 [ if-else, elif ] 사용법 (0) | 2025.01.21 |
---|---|
Bash Shell Script 변수와 사용자 입력 이해하기 (0) | 2025.01.20 |
Linux Bash Shell Script 표준 입력/출력 및 리다이렉션 (0) | 2025.01.18 |
Bash Shell Script 기본 출력 명령어 [ echo, printf ] (0) | 2025.01.17 |
Shell Script 파일 권한 설정과 실행 방법 (0) | 2025.01.16 |