执行此 shell 脚本时出现错误

执行此 shell 脚本时出现错误

我收到的错误是第 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! 该行的末尾。

相关内容