[Shell Script] 작은 따옴표 안에서 작은 따옴표 쓰기

 작은 따옴표 안에서 작은 따옴표 쓰기 





작은 따옴표로 둘러싼 문자열 안에서 변수 확장이나 작은 따옴표 기호를 사용하고 싶을 때 사용하는 스크립트 입니다 . 



#/bin/sh

price=100
str='it costs $'$price'? i can '\''t believe it !'
echo $str



해설 

이 스크립트는 셸 변수 str 내용을 echo명령어로 출력합니다 . 

변수 str에 대입할 때 문자열 전체를 작은 따옴표로 둘러싸는데 거기에 셸 변수 price 확장이나 작은 따옴표 기호 자체를 다루는 예제 입니다 . 

  • 큰 따옴표로 둘러싼 문자열은 변수 확장과 명령어 치환을 하기 때문에 $과 `(그레이브)는 따옴표 안에서도 변수 확장과 명령어 치환 의미를 갖습니다.

  • 작은 따옴표 기호는 단순한 따옴표로 변수 확장 등을 전혀 하지않고 '(작은 따옴표) 이외의 모든 기호를 전부 그대로 출력합니다 . 







그럼 큰따옴표 안에서 작은 따옴표를 쓰려면 \ 기호로 큰 따옴표를 이스케이프 합니다 . 









그러나 큰따옴표가 많을 경우 이스케이프하는 것 이 번거롭기 때문에 작은 따옴표로 처리합니다 . 









  • #1에서 'It cots$'로 우선 작은따옴표를 끊습니다 . 
  • 그 다음 $pirce는 작은 따옴표 밖이므로 변수 확장됩니다 . 
  • 작은따옴표를 그대로 출력을 위해 '\"라고 작성합니다 .
  • 작은 따옴표를 닫고 \'로 작은 따옴표로 표시한 다음 작은 따옴표를 연다는 의미입니다.

결과




댓글