次の行を含むcronによって実行される夜間レポートがあります。
PRINTFX="/usr/bin/printf"
<snip>
${PRINTFX} "%-11s %-11s %'d\n" ${F1} ${F2} ${F3}
crontabエントリ:
[ca-adm@homwpspect01 ~]$ crontab -l
55 01 * * * /usr/local/sbin/CRONSQLEvents
私の問題は、これをrootとして手動で(つまり、ログイン環境設定を使用して)実行すると、次の[正しい]出力が得られることです。
Date Event Count
2013-02-19 0x00010802 516,616
2013-02-19 0x00010D66 351,840
2013-02-19 0x00010D67 351,533
cronが別のユーザーとして実行すると、[InCorrect]が表示されます。
Date Event Count
2013-02-19 0x00010802 516616
2013-02-19 0x00010D66 351840
2013-02-19 0x00010D67 351533
cronで実行されている場合、数値出力からコンマが欠落しています。bashの内部関数があるため、printfの使用があいまいであるということを読んだことを覚えていますが、/ usr/binには外部関数もあります。
[root@homwpspect01 sbin]# which printf
printf is a shell builtin
printf is /usr/bin/printf
誰かがcronとログイン実行でこの問題を回避する方法を教えてもらえますか?特に、スクリプトで/ usr / bin / printfを指定しているとすると、とにかく?
よろしくお願いします、ドン