이스케이프 문자 , 작은 따옴표 및 큰 따옴표 등 세 가지 인용 메커니즘이 있습니다 .
따옴표가없는 백 슬래시 ( \ )는
이스케이프 문자 입니다. <newline>을 제외하고 다음 문자의 리터럴 값을 유지합니다. 경우 \ <개행> 쌍 나타나고 슬래시가 인용되지 자체 \ <개행> (즉, 그것의 입력 스트림으로부터 제거하고 효과적으로 무시) 라인으로 연속 처리된다.
작은 따옴표로 문자를 묶으면 따옴표 안에 각 문자의 리터럴 값이 유지됩니다. 백 슬래시가 앞에 있어도 작은 따옴표 사이에는 작은 따옴표가 없을 수 있습니다.
큰 따옴표로 문자를 묶으면 $ , ` , \ 및 히스토리 확장이 활성화 된 경우를 제외하고 따옴표 내 모든 문자의 리터럴 값을 유지합니다 ! . 문자 $ 와 ` 는 큰 따옴표 안에 특별한 의미를 유지합니다. 백 슬래시는 $ , ` , " ,
\ 또는 <newline> 문자 중 하나가 뒤에 오는 경우에만 특별한 의미를 유지합니다 . 큰 따옴표는 큰 따옴표 안에 백 슬래시를 붙여서 인용 할 수 있습니다. 그렇지 않으면 수행됩니다! 큰 따옴표로 표시되는 것은 백 슬래시를 사용하여 이스케이프됩니다. ! 앞에 오는 백 슬래시 제거되지 않습니다.
큰 따옴표로 묶인 경우 특수 매개 변수 * 및 @ 는 특별한 의미를 갖습니다 (아래의 매개 변수 참조).
$ ' string ' 형식의 단어는 특별히 취급됩니다. ANSI C 표준에 지정된대로 백 슬래시 이스케이프 문자를 바꾸어 단어를 string으로 확장합니다 . 백 슬래시 이스케이프 시퀀스가있는 경우 다음과 같이 디코딩됩니다.
\ 경고 (벨)
\ B 백 스페이스
\ 전자
\ E 이스케이프 문자
F \ 용지 공급
\ n 새로운 라인
\ r에 캐리지 리턴
\ t 수평 탭
\ V 수직 탭
\\ 백 슬래시
\ ' 작은 따옴표
\ " 큰 따옴표
\ NNN 을 값이 8 진 값 nnn 인 8 비트 문자
(1 ~ 3 자리)
\ x HH 16 진수 값이 HH 인 8 비트 문자
(하나 또는 두 개의 16 진수)
\ u HHHH 값 이 유니 코드 (ISO / IEC 10646) 문자
16 진 값 HHHH (1-4 자리 16 진수)
\ U HHHHHHHH
값이 유니 코드 (ISO / IEC 10646) 문자
16 진 값 HHHHHHHHH ( 1-8 개의 16 진수)
\ c x 제어 x 문자
확장 된 결과는 달러 기호가없는 것처럼 작은 따옴표로 묶습니다.
큰 따옴표로 묶은 문자열 앞에 달러 기호 ( $ " 문자열 " )가 있으면 문자열이 현재 로케일에 따라 변환됩니다. 현재 로케일이 C 또는 POSIX 인 경우 달러 기호는 무시됩니다. 문자열이 번역 및 교체되면 교체는 큰 따옴표로 묶습니다.
"$HOME"
"${USER:-root}"
"$(date)"
"`date`"
"$((1 + 2))"
"!!"
"\\"