개발 환경 및 프로젝트 관리/Linux 개념

Bash에서의 Quoting — 따옴표 정리

Data Jun 2025. 10. 9. 16:02

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 스크립트에서 따옴표의 쓰임을 정확히 이해하면
문자열 처리 오류를 줄이고, 코드의 의도를 명확히 표현할 수 있습니다