添付ファイルを送信するときに本文で改行を維持するためにmailxを使用する方法は?

添付ファイルを送信するときに本文で改行を維持するためにmailxを使用する方法は?

ログファイルのテキストを電子メール本文に電子メールで送信するスクリプトがあります。このログファイルには、読みやすくするためにテキスト行間に空白行があります。

スクリプトで次の行を使用すると、電子メールが正しく送信され、正しい形式になります。

cat ${log}|mailx -s "Email Subject Line" ${i} < ${log}

しかし、今私は電子メールにいくつかのファイルを添付したいと思います。私はその行を次のように修正しました。

( echo `cat ${log}` ; uuencode ${file1} ${file1a} ; uuencode ${file2} ${file2a} ; uuencode ${file3} ${file3a} ) | mailx -m -s "Email Subject Line" ${i}

これは${i}2行のEメール受信者です。

電子メールは添付ファイルをうまく送信していますが、メッセージ本文は改行や何もしない大きなテキストの集まりにすぎません。

私はmailx行を間違って書きましたか?メッセージ本文に書式を保持する方法はありますか?

ベストアンサー1

コマンドラインで引用されていない改行は空白として扱われます。

コマンド1  &&
コマンド2

まあ、時には引用されていない改行文字がセミコロンとして扱われるかもしれません。しかし、あなたが言うとき

echo `cat ${log}`

ログファイルのすべての改行は空白に変わります。次のように言うと、この問題を解決できます。

echo "`cat ${log}`"

しかし、なぜそれを言わないのですか?

cat ${log}

おすすめ記事