![失敗したインストールのリストを含むメール[重複]](https://linux33.com/image/108563/%E5%A4%B1%E6%95%97%E3%81%97%E3%81%9F%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%AE%E3%83%AA%E3%82%B9%E3%83%88%E3%82%92%E5%90%AB%E3%82%80%E3%83%A1%E3%83%BC%E3%83%AB%5B%E9%87%8D%E8%A4%87%5D.png)
スクリプトについて学んでいますが、このスクリプトを見つけました。
#!/bin/bash
A=`awk '{print $2}' /etc/fstab | grep -i "^/" | egrep -v '/etc/fstab|proc|sys|shm|pts'`
for i in $A; do grep "$i" /proc/mounts > /dev/null
if [ $? -eq 0 ]; then
echo $i "TRUE"
else
echo $i "FALSE"
fi
done
削除されたインストールリストを含む電子メールを送信する方法はありますか? Falseの場合はEメールを送信してください。
ありがとう
答え1
スクリプトの結果を電子メールで送信するには、次の手順を実行します。
#!/bin/bash
F=`mktemp`
A=`awk '{print $2}' /etc/fstab | grep -i "^/" | egrep -v '/etc/ fstab|proc|sys|shm|pts'`
for i in $A; do grep "$i" /proc/mounts > /dev/null
if [ $? -ne 0 ]; then
echo $i "FALSE"
fi
done >"$F"
if test -s "$F"; then
( echo "To: [email protected]"; \
echo "Subject: mount failures"; \
echo ""; cat "$F" ) \
| /usr/sbin/sendmail [email protected] [email protected]
fi
基本的に、どのインストールが正常であるかを知る必要はなく、修正する必要があるインストールのみを知る必要があるとします。
()
この状況では、サブシェルが役に立つと思います。printf
単一のステートメントを使用して異なる方法を実行できますが、これがうまく機能すると思います。