如果有一个“第一世界问题”来编写脚本,就是这样。
我要更新的脚本中包含以下代码:
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语句中,因此我似乎有两个选择:
- 把
EOI
一个新的生产线,打破花纹或 - 保持缩进,但使用echo语句之类的方法使mailx吸收我的电子邮件。
我愿意使用Heredoc的替代方法,但是如果有解决方法,这是我的首选语法。
$dateLastChanged
,但是如果您在示例中使用hypen + quotes进行操作,但是如果我将连字符加引号并将EOI放在新行,它将再次开始扩展。