我正在学习脚本,我遇到了这个脚本
#!/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,请发送电子邮件
谢谢
答案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
本质上,我假设您不需要了解哪些安装是正常的,只需要了解那些需要纠正的安装。
我发现子 shell()
在这种情况下很有用,可以使用单个printf
语句以不同的方式完成,但我觉得这样效果更好。