
$ cat<<EOF
> a
> EOF
a
stdin을 입력하는 대신 자동으로 스트림을 리디렉션할 수 있나요? 나는 그것을 시도했지만 이것이 내가 얻은 것입니다.
[debian:~]$ cat <<(printf "EOF\na\nEOF\n")
-bash: syntax error near unexpected token `('
[debian:~]$ cat <(printf "EOF\na\nEOF\n")
EOF
a
EOF
답변1
Here-doc는 특정 입력을 프로그램의 표준 입력에 전달하기 위한 구문일 뿐입니다. 그러나 그것이 유일한 것은 아닙니다. 다음을 사용할 수도 있습니다.
관로:
printf "a\n" | cat
문자열은 다음과 같습니다.
cat <<< "a"
프로세스 대체(이미 수행한 대로):
cat < <(printf "a\n")
(여기 문자열은 주어진 문자열의 끝에 개행 문자를 추가합니다. 다른 문자열은 그렇지 않으므로 수동으로 개행 문자를 추가했습니다 printf
.)
EOF
문자열을 전달하는 것은 cat
아마도 별로 유용하지 않을 것입니다. 이는 단지 here-doc 구문의 일부일 뿐입니다.