Bash 문서: 리디렉션된 입력과 직접 입력 비교

Bash 문서: 리디렉션된 입력과 직접 입력 비교
$ 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 구문의 일부일 뿐입니다.

관련 정보