Linuxpia/리눅스 사용 팁

따옴표와 이스케이프 문자로 변수 평가 차단

Linuxpia4U 2024. 4. 8. 03:17
반응형

따옴표와 이스케이프 문자로 변수 평가 차단

리눅스 쉘 스크립팅에서 변수의 평가(expansion)를 차단하는 것은 다양한 시나리오에서 중요할 수 있습니다. 특히 문자열 리터럴을 그대로 처리하거나 공백을 포함한 문자열을 전달할 때 유용합니다. 변수 평가를 차단하는 두 가지 방법은 다음과 같습니다.

1. 따옴표 사용하기

  • 단일 따옴표(Single Quotes): 변수가 있는 문자열을 단일 따옴표(')로 둘러싸면 쉘은 그 안에 있는 모든 문자를 리터럴로 취급합니다. 변수의 평가가 이루어지지 않습니다.
VARIABLE='값'
echo '$VARIABLE'

위 코드는 $VARIABLE이라는 문자열을 그대로 출력할 것입니다. 실제 변수 VARIABLE의 값은 평가되지 않습니다.

  • 이중 따옴표(Double Quotes): 이중 따옴표(")는 변수 평가는 허용하지만, 단어 분할(word splitting)과 와일드카드 확장(globbing)은 차단합니다.
VARIABLE='값'
echo "$VARIABLE"

위 코드는 변수 VARIABLE의 실제 값을 출력할 것입니다. 그러나 공백이나 다른 특수 문자가 포함된 변수 값은 분할되지 않습니다.

caption: 큰따옴표와 홑따옴표의 차이

2. 이스케이프(Escape) 문자 사용하기

  • 백슬래시(Backslash): 특정 문자 앞에 백슬래시()를 붙이면 그 문자의 특별한 의미를 제거합니다. 이는 변수의 달러 기호($)나 따옴표 같은 문자를 리터럴로 취급할 때 사용됩니다.
VARIABLE='값'
echo \$VARIABLE

위 코드는 $VARIABLE이라는 문자열을 그대로 출력할 것입니다.

caption: 이스케이프 문자를 이용한 변수 평가 차단

정리

변수의 평가를 차단하려면 단일 따옴표를 사용하여 변수의 리터럴 값을 보존하거나, 백슬래시를 사용하여 특정 문자의 특별한 의미를 이스케이프할 수 있습니다. 상황에 따라 적절한 방법을 선택하여 사용하는 것이 중요합니다.

반응형