2

我有一个执行 shell 脚本的 crontab,如果有输出,我希望在我的电子邮件中看到输出:

这是 crontab 条目的样子:

*/2 * * * * /bin/check_perms.sh

实际脚本如下所示:

#!/bin/bash
declare -a fix_dirs

fix_dirs=(`cat $(dirname $0)/dirs_to_fix.txt`)

for dir in "${fix_dirs[@]}"; do
   find $dir -type d ! -perm -go=xw -exec stat -c '%U %n %A' {} +
   find $dir -type f ! -perm -go=w -exec stat -c '%U %n %A' {} +
done

我猜测 find 的输出是问题所在,但如果我重定向到一个文件,该文件有换行符。当我收到来自 cron 的电子邮件时,它缺少 find 返回的文件之间的所有换行符。

更新:这只是一个邮件客户端“问题”我在这里找到了一种禁用 Outlook 行为的方法:http: //support.microsoft.com/kb/287816

4

1 回答 1

3

您的电子邮件客户端很可能正在删除换行符。尝试查看电子邮件客户端中的消息源。

于 2012-10-08T22:01:18.443 回答