여기에 있는 문서의 구분 기호를 입력으로 사용하는 프로그램에서 보고 사용합니까?

여기에 있는 문서의 구분 기호를 입력으로 사용하는 프로그램에서 보고 사용합니까?

이 문서의 형식은 다음과 같습니다.

<<[−]word
here-document
delimiter

이 문서를 표준 입력으로 사용하는 프로그램이 구분 기호를 보고 사용합니까?

아니면 bash에서만 구분 기호를 사용하고 이 문서를 표준 입력으로 입력하는 프로그램에서는 표시 및 사용되지 않습니까?

답변1

아니요, 외부 프로그램에서는 이를 볼 수 없습니다. 구분 기호는 스크립트를 실행하는 셸에서만 보고 사용할 수 있습니다.

답변2

이것은 쉘이 문서 구분 기호를 사용하는 곳이며 외부 프로그램은 이에 대해 전혀 모릅니다.

쉘이 해냈습니다토큰 인식그리고 여기에 문서 데이터를 프로그램에 전달합니다.

그리고 strace:

$ strace -s 10 -e read cat <<-IN
    1
IN
read(3, "\177ELF\2\1\1\3\0\0"..., 832)  = 832
read(0, "1\n", 131072)                  = 2
1
read(0, "", 131072)                     = 0
+++ exited with 0 +++

여기에 보이는 문서 데이터만 볼 수 있습니다 cat.

관련 정보