我收到的错误是第 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
,并且 shell 抱怨它找不到结束此处文档的单词。
我想你的意思是
cat simple.sh | grep ... >>Result
或者
cat <simple.sh | grep ... >>Result
要不就
grep ... simple.sh >>Result
另请注意,正则表达式^[^abc]$.*!$
可以绝不匹配,因为没有单行带有 a!
后该行的末尾。