본문 바로가기
Old Posts/Linux

[Linux] Bash 스크립트에서 따옴표 제거

by A6K 2021. 6. 17.

Bash 스크립트를 작성할 때 쌍따옴표(")로 둘러쌓인 값에서 쌍따옴표만 제거하고 싶을 때가 있다.

"Hello"

라는 값에서 쌍따옴표만 제거하고

Hello

라는 값만 추려내고 샆은 경우가 이에 해당한다.

이 경우 Bash의 매개변수 치환(Parameter Substitution)을 이용하면 된다. 예를 들어

$ VAR="\"TEST\""
$ echo $VAR
"TEST"

"TEST"라는 문자열이 변수에 저장되어 있을 때, 앞뒤에 있는 쌍따옴표만 제거하기 위해서는

$ temp="${VAR%\"}"
$ temp="${temp#\"}"
$ echo "$temp"
TEST

이런 식으로 입력하면 된다.

${VAR%\"} 를 실행하면 VAR 데이터에 저장되어 있는 값에서 뒤쪽에 오는 쌍따옴표가 제거된다. ${temp#\"} 를 실행하면 문자열의 앞쪽에 오는 쌍따옴표가 제거된다. 

이렇게 실행하면 앞뒤로 쌍따옴표가 있는 경우에만 제거할 수 있다. 쌍따옴표가 없는 경우라면 별다른 변경이 없다.

댓글