시스템 소프트웨어 | 쉘 스크립트 변수

Faithful Dev·2025년 1월 28일

컴퓨터 공학

목록 보기
59/81

쉘 스크립트에서 변수는 데이터를 저장하고 재사용하는 데 사용된다. 기본 변수, 리스트 변수, 사전에 정의된 변수는 각각 다른 용도로 활용되며, 이를 이해하면 스크립트를 보다 유연하고 강력하게 작성할 수 있다.


쉘 스크립트의 기본 변수

기본 변수는 문자열, 숫자, 경로와 같은 단일 값을 저장하는 데 사용된다.

변수 선언

  • 변수명과 값 사이에 공백 없이 = 기호를 사용한다.
  • 따옴표는 선택적으로 사용하되, 공백이 포함된 값을 저장할 때는 따옴표가 필요하다.
#!/bin/bash
name="Alice" # 문자열 변수
age=30 # 숫자 변수
path="/usr/local/bin" # 경로 변수

변수 사용

변수 값을 참조할 때는 $ 기호를 붙인다.

echo "이름: $name"
echo "나이: $age"
echo "경로: $path"

변수의 특징

  1. 유형 없음: 쉘 변수는 데이터를 문자열로 처리한다. 숫자를 계산하려면 expr 또는 $((...))를 사용해야 한다.
num1=10
num2=20
sum=$((num1 + num2))
echo "합계: $sum"
  1. 로컬 변수와 환경 변수
    • 로컬 변수: 현재 쉘 세션에서만 유효하다.
    • 환경 변수: export 명령어로 선언하며, 자식 프로세스에도 전달된다.
    	export MY_VAR="Hello"

리스트 변수 (배열)

리스트 변수는 여러 값을 저장하는 데 사용된다. 쉘 스크립트에서 배열을 사용하려면 bash와 같은 쉘이 필요하다.

배열 선언

일반 배열

array=(값1 값2 값3)
fruits=("Apple" "Banana" "Cherry")

인덱스를 지정하여 배열에 값 추가

array[0]="Apple"
array[1]="Banana"

배열 사용

단일 값 참조

echo ${array[0]} # Apple

전체 값 참조

echo ${array[@]} # Apple Banana Cherry

배열 길이

echo ${#array[@]} # 3

사전에 정의된 변수

쉘에는 시스템에서 미리 정의된 특수 변수환경 변수가 있다. 이는 쉘 스크립트 실행 환경과 관련된 정보를 제공한다.

특수 변수

특수 변수는 쉘 스크립트의 실행 상태와 관련된 정보를 제공한다.

변수의미
$0스크립트 이름
$1, $2, ...스크립트에 전달된 인수
$#전달된 인수의 개수
$@전달된 모든 인수
$?마지막 명령어의 종료 상태 (0: 성공)
$$현재 쉘 프로세스 ID
$!마지막으로 실행된 백그라운드 프로세스 ID

환경 변수

환경 변수는 시스템 및 쉘 환경 설정과 관련된 정보를 제공한다. 일반적으로 대문자로 작성된다.

주요 환경 변수

  • HOME: 사용자의 홈 디렉토리 경로
  • PATH: 실행 가능한 파일이 위치한 디렉토리 경로 목록
  • USER: 현재 사용자의 이름
  • PWD: 현재 작업 디렉토리
  • SHELL: 사용 중인 쉘의 경로

정리

  1. 기본 변수는 단일 값을 저장하며, 숫자와 문자열 모두 문자열로 처리된다.
  2. 리스트 변수는 배열 형태로 다수의 값을 저장하며, @ 또는 인덱스를 사용하여 값을 참조한다.
  3. 사전에 정의된 변수는 특수 변수와 환경 변수로 나뉘며, 스크립트 실행 및 시스템 정보를 제공한다.
profile
Turning Vision into Reality.

0개의 댓글