我有一個腳本,我試圖從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