来自cron的电子邮件缺少脚本输出中的新行,为什么?

时间:2012-10-08 21:57:19

标签: bash cron

我有一个执行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

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

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

1 个答案:

答案 0 :(得分:2)

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