高效Shell脚本编程:条件检查、循环与模块化技巧
1. 检查复杂条件
在监控磁盘空间时,我们常常需要根据磁盘使用情况发送不同的信息。以下是一段示例代码:
[1][0][0])
arcStat="update resume, no space left: $usedSpc"
;;
*)
arcStat="huh?: $usedSpc"
esac
#
BOX=$(uname -a | awk '{print $2}')
echo $arcStat | mail -s "archive space on: $BOX" [email protected]
exit 0
在这段代码中, usedSpc
变量存储了挂载点的磁盘使用百分比。 case
语句会检查 usedSpc
的值,根据其范围设置不同的信息,并通过邮件发送给生产支持团队。
为了获取 usedSpc
的值,我们使用了以下代码:
usedSpc=$(df -h $archLoc | awk '{print $5}' | grep -v Use | cut -d "%" -f1 -)
这个命令的执行流程如下:
1. df -h $archLoc
:获取指定挂载点的磁盘使用信息。
2. awk '{print $5}'