이 "고양이" 진술은 무엇을 합니까?

이 "고양이" 진술은 무엇을 합니까?

나는 Bash 파일에서 이 명령문이 무엇을 하는지 알아내려고 노력 중입니다. 나는 그것을 결합하여 가리키는 파일에 출력 stdout하고 여러 줄 문자열을 추가한다고 생각합니다. 이 올바른지?stderr$log

cat << EOF >> $log 2>&1   
the quick brown  
fox jumps  
EOF 

답변1

첫째, cat소문자여야 합니다. 명령문에서는 다음 개념을 사용합니다.여기에 파일.

첫 번째 부분 cat << EOFstdin명령(표준 입력)이 이후에 나타남을 의미합니다 . 이들 모두는 해당 단어가 EOF명령의 표준 입력이 될 때까지 첫 번째 줄 뒤에 나타납니다 cat. 또는 문서에서:

이러한 유형의 리디렉션은 행에 다음 항목만 포함될 때까지 현재 소스에서 입력을 읽도록 쉘에 지시합니다.구분 기호(귀하의 경우에는말초 혈액) (후행 공백 없음)이 표시됩니다. 이 지점까지 읽은 모든 행은 명령의 표준 입력으로 사용됩니다.

두 번째 부분명령의 출력은 >> $log 2>&1변수에 이름이 있는 파일을 의미하며 추가되어야 합니다.stdoutstderr$log

결론적으로:이제 다음과 같은 파일이 생성됩니다.

the quick brown
fox jumps

관련 정보