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)) # 155) 환경 변수 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.txtfile.txt에 덮어쓰기
- 기존 내용 있으면 전부 사라짐
출력 이어쓰기 (>>)
echo world >> file.txt- 기존 내용 뒤에 추가됨 (append)
9) 변수 관련 자주 쓰는 패턴
읽기 (입력 받기)
read NAME
echo $NAMEreadonly 변수
readonly VAR=hello변수 삭제
unset VAR10) 배열 (중요, 실무 자주 사용)
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