Bash 스크립트를 작성할 때 쌍따옴표(")로 둘러쌓인 값에서 쌍따옴표만 제거하고 싶을 때가 있다.
"Hello"
라는 값에서 쌍따옴표만 제거하고
Hello
라는 값만 추려내고 샆은 경우가 이에 해당한다.
이 경우 Bash의 매개변수 치환(Parameter Substitution)을 이용하면 된다. 예를 들어
$ VAR="\"TEST\""
$ echo $VAR
"TEST"
"TEST"라는 문자열이 변수에 저장되어 있을 때, 앞뒤에 있는 쌍따옴표만 제거하기 위해서는
$ temp="${VAR%\"}"
$ temp="${temp#\"}"
$ echo "$temp"
TEST
이런 식으로 입력하면 된다.
${VAR%\"}
를 실행하면 VAR 데이터에 저장되어 있는 값에서 뒤쪽에 오는 쌍따옴표가 제거된다. ${temp#\"}
를 실행하면 문자열의 앞쪽에 오는 쌍따옴표가 제거된다.
이렇게 실행하면 앞뒤로 쌍따옴표가 있는 경우에만 제거할 수 있다. 쌍따옴표가 없는 경우라면 별다른 변경이 없다.
댓글