Bourne 쉘 및 그 파생물에서는
정의에 따르면 IFS는 쉘 내장 변수입니까, 환경 변수입니까, 아니면 다른 변수입니까?
(이 프로그램 모듈은 일반적으로 문헌에서 어떻게 분류됩니까?)
답변1
출처에 따르면, 2. 쉘 명령 언어:
2.5.3 쉘 변수
변수는 POSIX.1-2017 시스템 인터페이스 볼륨의 XBD 환경 변수 및 exec 함수에 정의된 대로 환경에서 초기화되어야 하며 변수 할당 명령을 사용하여 새 값을 부여할 수 있습니다. 변수가 환경에서 초기화되면 즉시 내보내기용으로 표시되어야 합니다. 전용 내장 내보내기를 참조하세요. 변수 할당, read 또는 getopts 유틸리티 사용, for 루프의 name 매개변수 사용, ${ name= word} 확장 사용 또는 구현 확장으로 제공되는 기타 메커니즘을 사용하여 새 변수를 정의하고 초기화할 수 있습니다.
구체적으로 IFS
:
IFS는 문자 목록의 문자열로 처리되며 필드 분할,
*
특수 매개변수 확장 및 읽기 유틸리티를 사용하여 행을 필드로 분할하는 데 사용됩니다. 값에 유효한 문자의 일부를 형성하지 않는 바이트가 포함된 경우 필드 분할, 확장 및 유틸리티 사용의 결과는IFS
지정되지 않습니다.*
read
설정되지 않은 경우
IFS
, 쉘의 필드 분할과 유틸리티 의read
행 분할이 값에 따라 수행되어야 한다는 점을 제외하고는 설정되지 않은 변수에 대해 정상적으로 작동해야 합니다 .IFS
<space> <tab> <newline>
쉘은 호출될 때 로 설정되어야 합니다
IFS
.<space> <tab> <newline>