adsense_in_article_test


[bash: ",'] 따옴표 선택/사용하기 리눅스 bash script

리눅스 bash 스크립트에서 사용하는 따옴표에 대한 두어가지 유의점을 간단하게 정리해 두기로.

큰 따옴표(")와 작은 따옴표(')는 기능이 약간 다르다. 큰 따옴표 안쪽의 내용은 shell에서 해석하는 반면에 작은 따옴표 안쪽의 내용은 문자열 그대로 받아들인다. 이것은 변수에 저장된 내용을 다룰 때 차이를 보일 수 있다. 아래의 예시를 보자.

a="hello"

# 변수 a의 값 출력
echo "$a"
hello

echo $a

hello

# 문자열 $a 출력
echo '$a'
$a


위의 예시에서 변수 a를 지정할 때 따옴표를 사용하지 않아도 무방해 보이긴 하는데, 변수에 저장된 문자열이 탭(tab)을 포함하고 있을 경우 따옴표가 없으면 출력할 때 탭이 사라지게 되므로 웬만하면 큰 따옴표를 써 주는 것이 좋겠다.

grep 명령에서도 비슷한 경우가 발생할 수 있다.

# echo 명령은 문자열 '$a' 출력, grep 명령은 변수 a에 저장된 문자열(hello) 검색. 일치하는 문자열 없음
echo '$a' | grep "$a"

# grep 명령에서 문자열 '$a' 검색. 문자열 일치
echo '$a' | grep '$a'
$a

즉, 변수를 지칭할 때는 큰 따옴표를 사용해야 한다. 만약 큰 따옴표를 사용하면서 변수값이 아니라 '$a' 문자열을 출력하고 싶다면 역슬래시(\)를 이용하자.

echo "\$a"
$a
 
따옴표 자체를 출력해야 할 때도 역슬래시를 이용하면 된다. 아래의 예시를 보자.

echo "abc"
abc

echo "'abc'"
'abc'

echo "\"abc\""
"abc"

예시를 보면 느낄 수 있겠지만, 스크립트를 작성하면서 따옴표에 따라 결과가 달라질 수 있고 은근히 혼동 되는 측면도 있다. 따옴표를 사용할 때 좀 애매하다 싶다면 간단한 문자열로 먼저 시험을 해 보고 의도한 대로 동작하는지 확인하는 것이 좋겠다.



핑백

  • 반달가면 : [bash: awk] 다중 문자열 검색 2015-10-15 00:00:20 #

    ... 다면 awk 명령의 인자를 지정할 때 변수의 값이 인자로 대체될 수 있도록 큰따옴표(")를 사용해야 함에 유의하자. 따옴표 선택에 대한 내용은 이전 게시물을 참고하자. 여기로 # 변수에 문자열 할당 str1="ABCD" str2="DEFG" # my_file.txt에서 변수 $str1 또는 $str2에 할당된 문자열이 포함된 행 출력 ... more

덧글

댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.


B-Side


adsense(w160_h600)2

통계 위젯 (화이트)

265487
4519
2080404

2019 대표이글루_IT

Google Analytics