티스토리 뷰

#!/bin/bash 

space="space string" 

if [ ${space} = "space string" ]; then 
    echo "공백문자 인식: $space" 1>&2 
    exit 1 
fi

 

상기와 같이 스크립트를 작성하고 실행하면 다음과 같은 에러가 발생한다.

➜  test ./space_test.sh  
./space_test.sh: line 5: [: too many arguments

 

쉘 스크립트 작성시 변수에 공백 문자가 있으면 제대로 인식을 하지 못한다.

기본적으로 공백을 기준으로 해석을 하기 때문이다.

 

if [ ${space} = "space string" ]; then 

를 다음과 같이 수정하고 실행한다.

if [ "${space}" = "space string" ]; then
➜  test ./space_test.sh   
공백문자 인식: space string

 

즉, 공백문자를 사용 하고 싶은 변수를 ""로 감싸주면 된다.

 

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함