可能的重复:
这两个 cron 作业有什么问题?
我想从包含日期、时间、长数字和长数字的文件中打印格式化输出。我设置LC_NUMERIC
为 UTF 并使用%'d
标志字符来生成数千个数字分组。
crontab 中的以下行会产生以下错误
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
当 cronjob 运行时。
@daily LC_NUMERIC=en_US.UTF-8 /usr/bin/printf "%s %s %'d %'d\n" \
$(/usr/bin/tail -n 31 /var/log/bandwidth)
添加换行符以提高可读性
@daily
脚本中的相同行(不带)可以正常工作。
我猜想 cron 被这%'d
部分噎住了,找不到结束语"
。为什么?
答案1
我建议您放入
LC_NUMERIC=en_US.UTF-8 /usr/bin/printf "%s %s %'d %'d\n" $(/usr/bin/tail -n 31 /var/log/bandwidth)
一个文件并将其 chmod 为 770 并将该文件名放入 crontab 中。
答案2
要在文件中设置环境变量crontab
,您需要将它们放在自己的行上。该设置将影响该行之后的所有 cron 命令。
LC_NUMERIC=en_US.UTF-8
@daily /usr/bin/printf "%s %s %'d %'d\n" $(/usr/bin/tail -n 31 /var/log/bandwidth)
但如果不知道其中的内容,/var/log/bandwidth
就不可能说出真正的问题是什么。