이 쉘 스크립트를 실행하는 동안 오류가 발생했습니다.

이 쉘 스크립트를 실행하는 동안 오류가 발생했습니다.

내가 받는 오류는 30행입니다. 경고: 여기서 문서는 10행에 있으며 파일 끝("wanted simple.sh")으로 구분됩니다. 이 오류는 무엇을 의미합니까? 이것이 10번째 줄의 모습입니다.

cat <<simple.sh | grep '^[^abc]$.*!$' >>Result

simple.sh의 출력을 Result 파일에 추가하려고 합니다.

답변1

문법

somecommand <<TAG

여기에서 문서를 시작하세요. 여기서 문서는 텍스트 블록의 입력 리디렉션입니다. 한 줄에서 단독 으로 만나면 TAG문서의 내용은 여기서 끝납니다. 예를 들어:

cat <<END_TEXT
this is
some text
END_TEXT

태그는 임의의 단어일 수 있으며 귀하의 경우에는 simple.sh이며 쉘은 여기에서 문서를 끝내는 단어를 찾을 수 없다고 불평합니다.

내 생각엔 당신이 말하는 것 같아요

cat simple.sh | grep ... >>Result

또는

cat <simple.sh | grep ... >>Result

그렇지 않으면

grep ... simple.sh >>Result

또한 정규 표현식 ^[^abc]$.*!$안 돼요다음과 같은 한 줄이 없기 때문에 일치합니다.! 뒤쪽에줄 끝.

관련 정보