私が受け取るエラーは30行です。警告:ここでは文書は10行目にあり、ファイルの終わり(「wanted simple.sh」)で区切られています。このエラーはどういう意味ですか?これが10行目の様子です。
cat <<simple.sh | grep '^[^abc]$.*!$' >>Result
simple.shの出力をResultファイルに追加しようとしています。
答え1
文法
somecommand <<TAG
ここから文書を始めてください。ここで、ドキュメントはテキストブロックの入力リダイレクトです。 1行で単独で会うと、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]$.*!$
はいいえ次のような行がないので一致します。!
後ろに行末。