免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: johnson0418
打印 上一主题 下一主题

用SHELL写一个自动修改一个文件的属性 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2009-03-01 16:27 |只看该作者

回复 #29 johnson0418 的帖子

I'm dying.....

你的是什么系统?什么环境?

[ 本帖最后由 haimming 于 2009-3-1 16:30 编辑 ]

论坛徽章:
4
每日论坛发贴之星
日期:2015-12-02 06:20:00程序设计版块每日发帖之星
日期:2015-12-12 06:20:00程序设计版块每日发帖之星
日期:2015-12-15 06:20:00程序设计版块每日发帖之星
日期:2015-12-19 06:20:00
32 [报告]
发表于 2009-03-01 16:29 |只看该作者
原帖由 haimming 于 2009-3-1 16:22 发表
这个当然不行,只是进行一次判断,是就改,不是就退出了
改成今天的日期试试
#!/bin/bash     
date1='2009-03-01'           
if [ "`date +%Y-%m-%d`" = "$date1" ]
then         
  chmod 444 xxx     ...




这个可以用。但是不会自动更改。我刚才试过时间设置为200902282359,当时间到3月1号时文件没有发生变化。

论坛徽章:
0
33 [报告]
发表于 2009-03-01 16:31 |只看该作者

回复 #31 haimming 的帖子

你是故意的吧,这个跟系统无关。

论坛徽章:
0
34 [报告]
发表于 2009-03-01 16:34 |只看该作者

回复 #32 johnson0418 的帖子

兄弟,我说过了,只做了一次判断,是这个日期就改,不是就退出,你运行它的时间,如果当时的日期是2009-03-01,它就改,不是它就结束了

如果是家庭用户,每天开机,那把它设成开机自动运行,那它就每次开机检查一次日期到了没有

如果是服务器,一直开着就要写个无限循环来做

论坛徽章:
4
每日论坛发贴之星
日期:2015-12-02 06:20:00程序设计版块每日发帖之星
日期:2015-12-12 06:20:00程序设计版块每日发帖之星
日期:2015-12-15 06:20:00程序设计版块每日发帖之星
日期:2015-12-19 06:20:00
35 [报告]
发表于 2009-03-01 16:34 |只看该作者
原帖由 haimming 于 2009-3-1 16:27 发表
I'm dying.....

你的是什么系统?什么环境?




Linux Mandrake release 7.2 (Odyssey) for i486

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

回复 #33 我是DBA 的帖子

我没招了,只能出最后一式--忽悠!

帮忙,你总不能见死不救吧

再有,不同shell我不大了解,忙非bash不能执行而已

[ 本帖最后由 haimming 于 2009-3-1 16:36 编辑 ]

论坛徽章:
4
每日论坛发贴之星
日期:2015-12-02 06:20:00程序设计版块每日发帖之星
日期:2015-12-12 06:20:00程序设计版块每日发帖之星
日期:2015-12-15 06:20:00程序设计版块每日发帖之星
日期:2015-12-19 06:20:00
37 [报告]
发表于 2009-03-01 16:38 |只看该作者
原帖由 haimming 于 2009-3-1 16:34 发表
兄弟,我说过了,只做了一次判断,是这个日期就改,不是就退出,你运行它的时间,如果当时的日期是2009-03-01,它就改,不是它就结束了

如果是家庭用户,每天开机,那把它设成开机自动运行,那它就每次开机检 ...



我真的不会写这方面的东西,可以帮忙写下么,要求是只要这个时间到了就自动修改文件属性。例如:今天是3.1号,脚本要求是3.2号将文件b的属性改为只读。

论坛徽章:
0
38 [报告]
发表于 2009-03-01 16:39 |只看该作者

回复 #36 haimming 的帖子

用while true
do
sleep
计算当前时间与目标时间秒差。
sleep过去

论坛徽章:
0
39 [报告]
发表于 2009-03-01 16:41 |只看该作者
#!/bin/bash     
date1='2009-03-02'  
while true
do
if [ "`date +%Y-%m-%d`" = "$date1" ]
then         
  chmod 444 xxx  
  exit 0      
fi      
  sleep  60  
done
            
exit 0

论坛徽章:
0
40 [报告]
发表于 2009-03-01 16:47 |只看该作者

回复 #38 我是DBA 的帖子

学习了,
不过,LZ要等很长时间要测试了
等最基本的成了再说吧

[ 本帖最后由 haimming 于 2009-3-1 16:49 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP