スクリプティングに「最初の世界の問題」がある場合、これがそれです。
更新するスクリプトに次のコードがあります。
if [ $diffLines -eq 1 ]; then
dateLastChanged=$(stat --format '%y' /.bbdata | awk '{print $1" "$2}' | sed 's/\.[0-9]*//g')
mailx -r "Systems and Operations <sysadmin@[redacted].edu>" -s "Warning Stale BB Data" jadavis6@[redacted].edu <<EOI
Last Change: $dateLastChanged
This is an automated warning of stale data for the UNC-G Blackboard Snapshot process.
EOI
else
echo "$diffLines have changed"
fi
スクリプトは問題なく電子メールを送信しますが、mailxコマンドはifステートメント内にネストされているため、2つの選択肢が残っているように見えます。
EOI
新しい行を入れて、インデントパターンを分割するか、- インデントを維持しますが、エコーステートメントのようなものを使用して、mailxに電子メールを吸い込ませます。
私はヒアドキュメントの代替案を受け入れていますが、これを回避する方法があれば、それは私の好みの構文です。
$dateLastChanged
、例でハイフンとクォートを行う場合は、そこに入れようとしている変数を展開していませんが、ハイフンとクォートを取り出してEOIを新しい行が再び展開を開始します。