免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
11 [报告]
发表于 2009-03-01 15:23 |只看该作者
sh -x kk.sh

论坛徽章:
0
12 [报告]
发表于 2009-03-01 15:33 |只看该作者
b文件不存在

论坛徽章:
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
13 [报告]
发表于 2009-03-01 15:39 |只看该作者
可能WINDOWS的格式与LINUX不一样,COPY不行,我手动写上去,现在不报错了,但运行./kk.sh后不动了,只有按ctrl+c才能退出,check b文件也没有变化。

kk.rar

182 Bytes, 下载次数: 39

论坛徽章:
0
14 [报告]
发表于 2009-03-01 15:41 |只看该作者
时间没到,自然没有改你的文件,你不是要指定时间改的吗?
你把tim里的时间改成现在时刻之后的一两分钟试试

另外,这只是提供一个方法,具体要你自己去写了,或者你把具体要求写出来看看

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

论坛徽章:
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
15 [报告]
发表于 2009-03-01 15:44 |只看该作者
原帖由 我是DBA 于 2009-3-1 15:23 发表
sh -x kk.sh




运行后,一直重复
+ true
++ date +%H:%M
+ `[` 15:43 = 14:33 `]`
+ true
++ date +%H:%M
+ `[` 15:43 = 14:33 `]`
+ true
++ date +%H:%M
+ `[` 15:43 = 14:33 `]`
+ true
++ date +%H:%M
+ `[` 15:43 = 14:33 `]`

论坛徽章:
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
16 [报告]
发表于 2009-03-01 15:46 |只看该作者
原帖由 haimming 于 2009-3-1 15:41 发表
时间没到,自然没有改你的文件,你不是要指定时间改的吗?
你把tim里的时间改成现在时刻之后的一两分钟试试




看你在上面写的,应该是可以手动执行进行测试吧?
tim也改过,不行。

[ 本帖最后由 johnson0418 于 2009-3-1 15:51 编辑 ]

论坛徽章:
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
17 [报告]
发表于 2009-03-01 15:50 |只看该作者
我的要求较低的,例:
1。在2009年10月1日的时候自动将XX文件的属性改为只读。
2。在后台自动运行,不要用crontab

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

回复 #16 johnson0418 的帖子

又要骗分了,改改吧,脚本具体意思是这样的

  1. #!/bin/bash     #这个是脚本运行解释器
  2. while true     #进入了一个无限循环,会一直循环下去,除非到了退出命令
  3. do            #这个do是while格式要求的
  4. if [ "`date +%H:%M`" = "$1" ]  #条件判断,比较当前时间和你指定  的  #时间$1是否一样,也就是是否到了指定时间  
  5. then          #这个then是if条件判断的格式
  6.   chmod 777 $2    #修改属性,$2是指定的文件
  7.   exit 0           # 退出无限循环
  8. fi               #if条件要求的格式
  9. done             #while要求的格式
  10. exit 0
复制代码


运行的命令格式如下:./kk.sh time file
     time的格式如下:HH:MM(小时:分钟)

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

回复 #18 haimming 的帖子

白写了,

  1. #!/bin/bash     
  2. date1='2009-10-01'           
  3. if [ "`date +%Y-%m-%d`" = "$date1" ]
  4. then         
  5.   chmod 444 xxx         
  6. fi                     
  7. exit 0
复制代码

设成开机自动运行

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

论坛徽章:
0
20 [报告]
发表于 2009-03-01 16:09 |只看该作者
hamming
要加个sleep
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP