免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1828 | 回复: 3
打印 上一主题 下一主题

那位大虾、小虾进来给2星中尉讲讲这个别人写的shell程序啊!· [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-03 16:10 |只看该作者 |倒序浏览
俺愚笨的说!·(谁说俺打谁,^<>^)

这是有人提的问题:
原帖由 "boywhocools"]我想在/etc/init.d中放置一个文件,我希望在这个文件从第一次执行起,10天后把它自动修改或者删除掉,或者让它从第一次执行起,10天后自动删除系统的某个文件,应该怎么实现?谢谢![/quote 发表:


据说下面这是一位super haker(bzzyg)写的:

[quote]原帖由 "bzzyg"]yrq  发表:

你可设在/etc/init.d中的一个文件名为exeone 其中内容有如下一行
date +%Y%m%d > rqwj (保存日期的文件)
你可写一shell,名为rqbj.
把它放在crontab中如下:
00 08 * * * /bin/rqbj
rqbj的内容如下:

str=`date +%Y%m%d`
days=10
yy=`echo $str|cut -c 1-4`
mm=`echo $str|cut -c 5-6`
dd=`echo $str|cut -c 7-8`
sav_dd=$days
days=`expr $days - $dd`
while [ $days -ge 0 ]
do
mm=`expr $mm - 1`
[ $mm -eq 0 ] &amp;&amp; mm=12 &amp;&amp; yy=`expr $yy - 1`
aaa=`cal $mm $yy`
bbb=`echo $aaa|awk '{print $NF}'`
days=`expr $days - $bbb`
done
dd=`expr 0 - $days`
expr $dd : "^.$" > /dev/null &amp;&amp; dd=0$dd
expr $mm : "^.$" > /dev/null &amp;&amp; mm=0$mm

yg=`echo $yy$mm$dd`
yrq=`cat rqwj | awk '{ print $1 }'`
if [ $yg = $yrq ]
then
echo "right"
rm /etc/init.d/exeone
fi

试试看吧.


这个程序里除了两行,剩下的我都明白是什么意思,可我就是不明白他的原理,他是怎么判别出当前日期是10天之后呢??谁看明白了,给我讲讲!
另外就是说一下那两行是什么意思!!
麻烦各位侠们了!!

论坛徽章:
0
2 [报告]
发表于 2003-03-03 16:29 |只看该作者

那位大虾、小虾进来给2星中尉讲讲这个别人写的shell程序啊!·

expr $dd : "^.$" > /dev/null &amp;&amp; dd=0$dd
expr $mm : "^.$" > /dev/null &amp;&amp; mm=0$mm
这两句的意思是:

如果$dd(或$mm)是一个字符组成的,即dd=1-9,则让dd=01-09
因为下面的cal要用到

论坛徽章:
0
3 [报告]
发表于 2003-03-03 16:35 |只看该作者

那位大虾、小虾进来给2星中尉讲讲这个别人写的shell程序啊!·

http://chinaunix.net/forum/viewtopic.php?t=9178&amp;highlight=

论坛徽章:
0
4 [报告]
发表于 2003-03-03 19:48 |只看该作者

那位大虾、小虾进来给2星中尉讲讲这个别人写的shell程序啊!·

o ,明白了!
nkliyong,你真厉害啊!·
这里的高手真是多啊!·
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP