本の中のいくつかのスクリプトを練習していますが、予期しないファイルの終わりの構文エラーが発生し続けます。次の図は、エラーメッセージと基本コマンドを使用してシステム情報htmlファイルを生成するスクリプトを示しています。 2番目の画像セットは、問題のある行をコメントアウトして実行する方法を示しています。
上部にはhereドキュメントを使用してhtmlタグを生成する3つの機能があり、読みやすくするために「<<-」スイッチを使用してタグをインデントします。私の問題は、私が言及したエラーが引き続き表示されることです。 "echo"コマンドで変更するとうまくいきます。奇妙なことは、スクリプトの下部、関数の外側にここに文書があることです。そして、これら3つの関数をコメントアウトするとうまくいきます。私は何が間違っていましたか?
答え1
ここではドキュメントタグの末尾をインデントしています。
これを検出するには、閉じるタグがその行の先頭になければなりません。
閉じるタグをキャンセルスクリプトが(少なくともこれまで)正しく動作していることを確認できます。