쉘에서의 큰따옴표와 작은따옴표(인용부호, Quoting) 그리고 백슬래쉬(Baskslash)
쉘에서 사용되는 세가지 인용법에 대하여 알아보자.
SHELL에서 인용(Quoting) 이란?
쉘에서 인용(Quoting) 은 특정 문자나 단어가 가지는 특별한 의미(또는 기능)를 제거 하는데 사용된다. 예를 들어 빈칸(white space
) 은 쉘에서 인자를 구분하는데 쓰이지만 Quoting 된 빈칸(<whitespace>
) 매개변수를 구분하는 기능이 무시된다.
쉘에서 Quoting 메커니즘은 세가지가 있다.
- 이스케이프 문자(Escape Character):
Hello\ World
- 작은따옴표(Single Quotes,
'
):'Hello World'
- 큰따옴표(Double Quotes,
"
):"Hello World"
Hello\ World
, 'Hello World'
"Hello World"
이 세가지 모두 하나의 매개변수로 취급 한다.
쉘에서 아래 명령을 실행해 보자. 다음 명령은 매개변수의 갯수를 나타내는 변수 $#
를 출력한다.
sh -c 'echo $#' Hello World
sh -c 'echo $#' Hello\ World
sh -c 'echo $#' 'Hello World'
sh -c 'echo $#' "Hello World"
결과를 보자.
$ sh -c 'echo $#' echo Hello World
1
$ sh -c 'echo $#' echo Hello\ World
0
$ sh -c 'echo $#' echo 'Hello World'
0
$ sh -c 'echo $#' echo "Hello World"
0