[解決済み] here-documentで'unexpected end of file'エラーが発生する。
2023-01-26 09:53:11
質問
ターミナルからメールを送信するスクリプトが必要です。ここやネット上の多くの場所で見たものを基に、私はこのようにフォーマットしました。
/var/mail -s "$SUBJECT" "$EMAIL" << EOF
Here's a line of my message!
And here's another line!
Last line of the message here!
EOF
しかし、これを実行するとこのような警告が表示されます。
myfile.sh: line x: warning: here-document at line y delimited by end-of-file (wanted 'EOF')
myfile.sh: line x+1: syntax error: unexpected end of file
...ここで、x行目はプログラムの中で最後に書かれたコードの行、y行目はその行に
/var/mail
を含む行です。を置き換えてみました。
EOF
を他のものに置き換えてみました (
ENDOFMESSAGE
,
FINISH
など)を使っていますが、無駄です。私がオンラインで見つけたほぼすべてのものは、それがこの方法で行われ、私は本当にbashの初心者なので、私は自分自身でそれを理解するのに苦労しています。どなたか手助けしていただけませんか?
どのように解決するのですか?
この
EOF
トークンは行頭になければならず、それに付随するコードブロックと共にインデントすることはできません。
もしあなたが
<<-EOF
と書くと、インデントしても構いませんが、インデントするには
タブ
文字でインデントしなければなりません。そのため、コードのブロックと同じにはならないかもしれません。
また、空白文字がないことを確認してください
の後に
は
EOF
のトークンを行に追加します。
関連
-
[解決済み】Bashのシンタックスエラー:予期しないファイルの終わり
-
[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法
-
[解決済み] Makefileでシェルコマンドを使用する方法
-
[解決済み] bashのcurlステートメントに'&'文字を含める方法
-
[解決済み] bash で "set -o nounset" を使用したときに変数が設定されているかどうかをテストする。
-
[解決済み] bashスクリプトを一行ずつ実行するには?
-
[解決済み] .bashrcのエイリアスをvimのシェルコマンドで使用できるようにするには?(:!...)
-
[解決済み] bashでファイルが存在するかどうかをテストするためのWhileループ
-
[解決済み] bashでsshがwhileループから抜け出す [重複] [重複
-
[解決済み] 引用符で囲まれたパラメータを受け取り、再送するためのBashスクリプト
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] bash に次の行に進むように指示する方法
-
[解決済み] bashで変数に改行を埋め込もうとする [重複].
-
[解決済み] bashでWebサーバーの応答を待つループを作成するには?
-
[解決済み] bashのcurlステートメントに'&'文字を含める方法
-
[解決済み] シェルスクリプトでINI値を取得するには?
-
[解決済み] シェルスクリプトで行末にセミコロンは不要?重複
-
[解決済み] 接頭辞・接尾辞を使った名前の変更方法について教えてください。
-
[解決済み] MacOSXでZSHをデフォルトシェルにする [終了しました]。
-
[解決済み] Bash。フォルダ構造を保持したまま再帰的に名前付きファイルをコピーする
-
[解決済み] 予期しないbashの終了時に作成された一時ファイルを削除する