2

シェル スクリプトを実行する 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 に答える