it-gundan.com

bash 스크립팅에서 IFS = $ '\ n'의 의미는 무엇입니까?

Bash 셸 스크립트의 시작 부분에는 다음 줄이 있습니다.

IFS=$'\n'

이 기호 모음의 의미는 무엇입니까?

180
Abdul Al Hazred

달러로 묶은 작은 따옴표 안에는 일부 문자가 특별히 평가됩니다. 예를 들어, \n은 (는) 줄 바꿈으로 변환됩니다.

따라서이 특정 행은 개행을 변수 IFS에 지정합니다. IFS는 bash의 특수 변수 인 Internal Field Separator입니다. 같이 man bash 말한다

확장 후 Word 분할 및 read builtin 명령을 사용하여 행을 단어로 분할하는 데 사용됩니다. 기본값은 <space><tab><newline>.

23
choroba

간단히 말해 IFS=$'\n' 개행 지정 \n를 변수 IFS로.

$'string' 구문은 ANSI C와 같은 이스케이프 시퀀스를 디코딩하는 데 사용되는 인용 메커니즘입니다. 이 문법은 ksh93, bash, zsh, pdksh, busybox sh.

이 구문은 POSIX에 의해 정의되지 않았지만 SUS issue 7 에 허용되었습니다.

15
cuonglm