inblog logo
|
DailyCoding
    Linux

    3. 쉘 변수(Bash 기준)

    박은서's avatar
    박은서
    Apr 09, 2026
    3. 쉘 변수(Bash 기준)
    Contents
    1. 쉘 변수(Bash 기준)1) 변수 기본 선언과 사용2) 변수 이름 해석 문제3) 명령어 결과를 변수에 저장 ($())4) 변수 타입 (쉘은 타입 없음)5) 환경 변수 vs 일반 변수6) 변수 치환과 확장 (핵심 개념)7) 따옴표에 따른 차이 (매우 중요)8) 출력 리다이렉션9) 변수 관련 자주 쓰는 패턴10) 배열 (중요, 실무 자주 사용)11) 문자열 처리12) 실무 핵심 팁 (중요도 높음)핵심 요약

    1. 쉘 변수(Bash 기준)

    1) 변수 기본 선언과 사용

    HELLO_WORLD=helloeveryone echo $HELLO_WORLD
    • = 양옆에 공백 절대 금지
    • 변수 사용 시 $변수명
    • 출력: helloeveryone

    2) 변수 이름 해석 문제

    문제

    NUM=1 echo $NUMhello
    • Bash는 NUMhello를 하나의 변수명으로 인식

    해결 방법

    echo ${NUM}hello
    • ${}는 변수 경계를 명확히 해주는 역할
    • 문자열 연결 시 거의 필수

    3) 명령어 결과를 변수에 저장 ($())

    GOOD=$(cat environment) echo $GOOD
    • $() → 명령 실행 결과를 변수에 저장
    • 과거 방식: `command` (비추천)
    💡 실무에서는 거의 $() 사용

    4) 변수 타입 (쉘은 타입 없음)

    A=10 B="hello"
    • Bash는 모든 변수를 문자열로 처리
    • 숫자 계산 시 별도 문법 필요
      • echo $((A + 5)) # 15

    5) 환경 변수 vs 일반 변수

    일반 변수

    VAR=hello

    환경 변수 (export)

    export VAR=hello

    일반 변수 vs 환경 변수

    • 일반 변수 → 현재 쉘에서만 사용
    • 환경 변수 → 자식 프로세스까지 전달
    echo $PATH # 대표적인 환경 변수

    6) 변수 치환과 확장 (핵심 개념)

    기본값 설정

    echo ${VAR:-default}
    → VAR 없으면 default

    값 할당

    echo ${VAR:=default}

    존재 여부 체크

    echo ${VAR:+exists}

    7) 따옴표에 따른 차이 (매우 중요)

    큰따옴표 " "

    echo "Hello $VAR"
    → 변수 해석됨

    작은따옴표 ' '

    echo 'Hello $VAR'
    → 변수 그대로 출력

    8) 출력 리다이렉션

    출력 리다이렉션(>)

    echo hello > file.txt
    • file.txt에 덮어쓰기
    • 기존 내용 있으면 전부 사라짐

    출력 이어쓰기 (>>)

    echo world >> file.txt
    • 기존 내용 뒤에 추가됨 (append)

    9) 변수 관련 자주 쓰는 패턴

    읽기 (입력 받기)

    read NAME echo $NAME

    readonly 변수

    readonly VAR=hello

    변수 삭제

    unset VAR

    10) 배열 (중요, 실무 자주 사용)

    arr=(a b c) echo ${arr[0]} # a echo ${arr[@]} # 전체

    11) 문자열 처리

    길이

    echo ${#VAR}

    부분 문자열

    echo ${VAR:0:3}

    치환

    echo ${VAR/old/new}

    12) 실무 핵심 팁 (중요도 높음)

    • 항상 ${VAR} 형태 쓰는 습관 추천
    • 공백 포함 문자열은 반드시 " " 사용
    • 명령 결과는 $() 사용
    • 환경 변수는 export로 명확히 구분

    핵심 요약

    • VAR=value (공백 없음)
    • ${VAR} → 안전한 참조
    • $() → 명령 결과 저장
    • export → 환경 변수
    • > vs >> → 덮어쓰기 vs 이어쓰기
    Share article
    Contents
    1. 쉘 변수(Bash 기준)1) 변수 기본 선언과 사용2) 변수 이름 해석 문제3) 명령어 결과를 변수에 저장 ($())4) 변수 타입 (쉘은 타입 없음)5) 환경 변수 vs 일반 변수6) 변수 치환과 확장 (핵심 개념)7) 따옴표에 따른 차이 (매우 중요)8) 출력 리다이렉션9) 변수 관련 자주 쓰는 패턴10) 배열 (중요, 실무 자주 사용)11) 문자열 처리12) 실무 핵심 팁 (중요도 높음)핵심 요약

    DailyCoding

    RSS·Powered by Inblog