想要将其应用到 crontab:
crontab -l > nopass
echo 'ALERT - Found a user without password on:' `hostname` `date` | cat /etc/shadow | awk -F: '($2==""){print $1}' | mail -s "Alert: Found a user without password on `hostname` `who | awk '{print $6}'`" $ADMIN_MAIL >> nopass
crontab nopass
rm nopass
但是这条长线不适用。是因为字符串的结构错误,还是因为 crontab 对字符有某种限制?也许有更方便的方法来做我想做的事?
答案1
您的“长线”至少存在一个问题:
echo 'ALERT - Found a user without password on:' `hostname` `date` | cat /etc/shadow
该命令的输出echo
将会丢失。
将代码分成多个单独的语句/行确实会更有益处。