从来没有一个二十二岁的女生 像她这样唱歌

使用while+sleep制作计划任务的进阶版本

上一篇 / 下一篇  2007-08-16 00:45:37 / 个人分类:技术

今天,打算上bluehost的虚拟主机上放些计划任务,结果,输入crontab -e提示:
crontab: command not found
晕死。难道你认为禁用了crontab,我就没有办法了?
while [ 0 ]; do date;sleep 1; done
使用while循环,加上sleep,完全可以做到计划任务一样的效果,而且比crontab更精确,不但可以精确到秒,即使是小数也是支持的,比如:
while [ 0 ]; do date;sleep 0.5; done
如果要使用分数,就要麻烦一点,因为在shell下,一般都是当成整数来处理的
walkerxk@www:~$ echo $((3/2))
1
walkerxk@www:~$ echo $((4/7))
0
walkerxk@www:~$
不过我们有bc:
walkerxk@www:~$ echo 4/7|bc -l
.57142857142857142857
walkerxk@www:~$ echo 3/2|bc -l
1.50000000000000000000
walkerxk@www:~$ echo 3/2|bc -l|sed 's/0*$//g'
1.5
walkerxk@www:~$
sed 's/0*$//g'是用来去除后面多余的0的。我想这个就已经够用了,总不会有人使用根式作为时间吧。


TAG:

重症"爱姿"病房 引用 删除 walkerxk   /   2007-08-18 10:10:04
我已经知道错了,昨天虚拟主机被封,吓死。其实不怪我,是他们下载的速度太快了,每个进程4MBPS的下载速度,然后N个进程,就把他们服务器的带宽全部占用了。
Sanool和开源的故事--邵炜主题博客.. 引用 删除 sanool   /   2007-08-17 09:51:21
哈哈 你这个家伙
重症"爱姿"病房 引用 删除 walkerxk   /   2007-08-17 08:12:25
如果用scale的话,你怎么知道有几位小数?如果要取前几位,我完全可以再加个用head -c4
朝文 引用 删除 xcwen   /   2007-08-17 01:48:19
3
用用这个会不会更好:
echo "scale = 1; 3/2 " | bc -l
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-09-07  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 80615
  • 日志数: 185
  • 图片数: 5
  • 文件数: 68
  • 建立时间: 2005-09-27
  • 更新时间: 2008-08-12

RSS订阅

Open Toolbar