문서화 및 입력 리디렉션은 다음과 같습니다.

문서화 및 입력 리디렉션은 다음과 같습니다.

다음 명령은 무엇을 합니까? 특히 -입력 리디렉션의 역할을 이해하지 못합니다.

 cat <<-EOF | command $argument
    first option


    second option
    EOF

-입력 리디렉션에 필수인가요?

답변1

에서 man bash:

리디렉션 연산자가 <<-인 경우 입력 줄과 구분 기호가 포함된 줄에서 모든 선행 탭 문자가 제거됩니다. 이를 통해 쉘 스크립트의 문서를 자연스럽게 들여쓰기할 수 있습니다.

$ cat <<-EOF
    foo
    bar
    EOF
foo
bar

답변2

여기에 있는 문서에 대한 귀하의 질문과 관련하여 위의 Chris 답변에 뭔가를 추가하고 싶습니다.

cat - filename <<-EOF
    foo
    bar
    EOF

위의 코드를 보면 2가 있습니다 -. 둘 다 다른 목적을 가지고 있습니다. 1) -EOF구분 기호에서 선행 탭 문자를 자릅니다.

2) cat - filename: 기본적으로 첫 번째 표준 입력 내용(구분 기호를 찾을 때까지) + 파일 이름 내용을 인쇄합니다. cat은 -표준 입력 및 파일 내용의 순서를 제어하기 위해 특별히 이를 제공합니다 . 위의 경우, 변경 명령은 cat filename -파일 이름과 표준 입력의 내용을 인쇄합니다(구분 기호를 찾을 때까지).

관련 정보