정의에 따르면 IFS는 쉘 내장 변수입니까, 환경 변수입니까, 아니면 다른 변수입니까?

정의에 따르면 IFS는 쉘 내장 변수입니까, 환경 변수입니까, 아니면 다른 변수입니까?

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>

관련 정보