[Shell Script] 문자열에서 변수를 명확히 구분하기

 문자열에서 변수를 명확히 구분하기 




변수명 뒤에 이어진 문자열과 변수명을 명확하게 구분할 때 사용합니다 . 

#!/bin/sh
today="20211205"
# 셸 변수 today가 확장됩니다.
wc -l ${today}_log


























해설

이 스크립트는 20211205_log 라는 파일의 줄 수를 표시 합니다 . 
wc 명령어는 파일 문자열과 줄 수를 조사하는 명령어 이며 -l 옵션을 사용하면 파일의 줄 수 를 표시 합니다 . 


  • 셸 스크립트 변수명으로 사용가능한 문자는 알파벳, 숫자, 언더스코어 세종류 입니다 . 
  • 어떤 셸 변수를 사용하는데 그 변수 뒤에 문자열을 연결 하고싶다고 가정합니다 . 
  • 이때 뒤에 이어지는 문자가 셸 스크립트 변수명으로 사용하는 문자면 셸은 가능한 길게 변수명을 인식하므로 뒤에있는 문자까지 변수명으로 봅니다 . 










다음과 같이 셸 스크립트를 작성 합니다 . 
이 패턴에서는 셸은 앞서 작성한 스크립트와는 달리 today_log 를 셸 변수로 해석합니다 .







이런 경우 셸 변수뒤에 문자열을 연결하고 싶다면 {}로 감싸고 난 뒤에 연결해야 합니다 .