我有一个脚本,我试图从cron运行。当我从bash运行它时,它工作得很好。然而,当我让的cron做的事情,我得到一个:运行一个命令作为cron会,但从命令行
myscript.sh: line 122: syntax error: unexpected end of file
我要的是运行一个命令,如果它是一个cron作业的方式,但这样做在我的壳。
作为一个方面说明:有没有人知道在cron下会有什么不同? (剧本已经有了一个#!/bin/sh
线)
要回答我的问题:我已将此添加到我的crontab:
* * * * * bcs for ((i=$(date +\%M); i==$(date +\%M) ;)) ; do find ~/.crontemp/ -name '*.run' -exec "{}" ";" ; sleep 1; done`
,并创造了这个脚本:
#!/bin/sh
tmp=$(mktemp ~/.crontemp/cron.XXXXX)
mknod $tmp.pipe p
mv $tmp $tmp.pre
echo $* '>' $tmp.pipe '1>&2' >> $tmp.pre
echo rm $tmp.run >> $tmp.pre
chmod 700 $tmp.pre
mv $tmp.pre $tmp.run
cat $tmp.pipe
rm $tmp.pipe
随着该,我可以运行一个不超过一秒的延迟的任意命令。
(是的,我知道有各种涉及的安全问题)
问题是fi
与if
问题。卫生署!
它是否真的在开始时拥有#1而不仅仅是# – eemz 2010-06-08 15:39:24
(或更好地说,'#!':-) – psmears 2010-06-08 15:41:02
@joefis:糟糕。 :( – BCS 2010-06-08 15:47:06