bash 쉘 스크립트 변수 사용 시 주의사항(중괄호)
변수명을 중괄호({
,}
)로 묶는 습관 들이기
왜?
변수를 활용할 때, $
를 변수명 앞에 두어서 변수임을 알 수 있다.
이때, 변수명을 중괄호({
,}
)로 묶어도 정상 동작을 하는데,
만약 중괄호로 묶지 않는다면 아래와 같은 비정상 동작이 발생할 수 있다.
#!bin/bash
var="def"
echo "abc$varghi"
원하는 출력 결과 | abcdefghi |
실제 출력 | abc |
이러한 동작이 발생하는 이유는, 중괄호로 묶지 않았기 때문에 var
라는 변수를 쉘 입장에서는 varghi
라는 변수로 인식하게 되었고, varghi
라는 변수는 선언되어있지 않기 때문에 공백으로 치환되어버린 것이다.
해결 방법은?
#!bin/bash
var="def"
echo "abc${var}ghi"
이처럼 변수를 중괄호로 묶어주면, 원하는 출력 결과를 얻을 수 있다.
결론
별거 아닌 것 같고 나는 안 그럴 것 같지만 다른 부분에 집중하여 스크립트를 작성하다 보면 이런 사소한 부분에 걸려 한참 시간을 낭비하게 될 수도 있다. 주의하자.
728x90
반응형
'Back-End > Linux' 카테고리의 다른 글
[Linux] bash 쉘 스크립트 함수 반환 값(리턴) 받기 (0) | 2021.07.13 |
---|---|
[Linux] bash 쉘 스크립트 if elif else 조건문 사용법 (0) | 2021.07.08 |
[Linux] 리눅스 계정 관련 명령어(users, id, whoami, logname, who am i) (0) | 2021.07.01 |
[Linux] 쉘 스크립트 무한 루프 반복문 돌리기 (for, while) (0) | 2021.06.27 |
[Linux] Bash 쉘 스크립트 정수형 변수 증가/감소 하는 법 (0) | 2021.06.25 |