Bash 스크립트에서 따옴표(quote) 는 단순히 문자열을 감싸는 용도뿐 아니라,
변수의 해석 방식과 명령의 실행 결과에 큰 영향을 줍니다.
오늘은 Bash에서 자주 사용되는 세 가지 따옴표(", ', `)의 차이점을 정리해보겠습니다.
Double Quotes (" ")
name="world"
echo "Hello $name"
출력 결과:
Hello world
- 단어가 쪼개지는 것을 방지합니다.
(예: 공백이 포함된 문자열을 하나의 단어로 인식) - 변수나 명령어는 해석되어 값으로 치환됩니다.
- 예를 들어 "${var}"는 var의 값을 출력하지만, "${path}/*.txt"는 그대로 문자열로 유지됩니다.
✅ 정리:
" "는 문자열을 안전하게 묶으면서도 변수와 명령을 해석하고 싶을 때 사용합니다.
Single Quotes (' ')
name="world"
echo 'Hello $name'
출력 결과:
Hello $name
- 모든 내용을 그대로(literal) 해석합니다.
- 변수나 명령어($, ` 등)가 포함되어 있어도 치환되지 않습니다.
✅ 정리:
' '는 문자열을 완전히 그대로 출력하고 싶을 때 사용합니다.
(변수를 값으로 바꾸지 않음)
Back Quotes (` `) — 명령 치환
echo "현재 디렉토리: `pwd`"
출력 결과:
현재 디렉토리: /home/user
- 명령어(command substitution) 를 수행합니다.
- 따옴표 안의 내용을 shell이 먼저 실행하고, 그 결과를 문자열로 반환합니다.
더 현대적인 방식으로는 아래 표현을 권장합니다 👇
echo "현재 디렉토리: $(pwd)"
✅ 정리:
`command` 또는 $(command)는 명령어 실행 결과를 문자열 안에 삽입할 때 사용합니다.
정리하면
- " " → 변수 해석 O
- ' ' → 변수 해석 X
- ` ` / $( ) → 명령 실행 결과 치환
Bash 스크립트에서 따옴표의 쓰임을 정확히 이해하면
문자열 처리 오류를 줄이고, 코드의 의도를 명확히 표현할 수 있습니다
'개발 환경 및 프로젝트 관리 > Linux 개념' 카테고리의 다른 글
| 터미널 프롬프트에 보이는 사용자 · 호스트 · 경로의 의미 (0) | 2026.01.06 |
|---|---|
| Brace Expansion (중괄호 확장) (0) | 2025.10.09 |
| Bash — Associative Array (연관 배열) (0) | 2025.10.09 |
| Bash — Indexed Array 기본 정리 (0) | 2025.10.09 |
| Bash의 Special Parameters 정리 (0) | 2025.10.09 |