免费注册 查看新帖 |

Chinaunix

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

[系统管理] linux shell 可以模糊运行吗 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-04-11 21:06 |只看该作者 |倒序浏览
例如/var/file/下有如下文件
20130411-1u.sh
20130411-ds.sh
20130411-1233.sh
20130412-EEE.sh
20130412-DDD.sh
20130413-CDE.sh

那么使用shell命令来执行/var/file/20130411* 的shell脚本该怎么做,必须要写文件的全名吗?

我是想用crontab每天运行一个脚本来执行/var/file/下开头为当天日期(如20130411-*.sh)的文件,这个该怎么做有好的方法吗?


论坛徽章:
2
午马
日期:2015-01-27 11:22:392015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2013-04-11 21:19 |只看该作者
  1. /tmp/1998> cat testname.a
  2. 20130411-1u.sh
  3. 20130411-ds.sh
  4. 20130411-1233.sh
  5. 20130412-EEE.sh
  6. 20130412-DDD.sh
  7. 20130413-CDE.sh

  8. /tmp/1998> cat testname.a| xargs touch

  9. /tmp/1998> ls
  10. 20130411-1233.sh  20130411-ds.sh   20130412-EEE.sh  testname.a
  11. 20130411-1u.sh    20130412-DDD.sh  20130413-CDE.sh

  12. /tmp/1998> for file in `ls 20130411*sh`; do  echo  "date; echo \$0" >$file ; done

  13. /tmp/1998>  for file in `ls 20130411*sh`; do  bash $file ; done
  14. 2013年 04月 11日 星期四 21:17:30 CST
  15. 20130411-1233.sh
  16. 2013年 04月 11日 星期四 21:17:30 CST
  17. 20130411-1u.sh
  18. 2013年 04月 11日 星期四 21:17:30 CST
  19. 20130411-ds.sh
复制代码
这段代码可以帮你完成执行部分脚本的过程
crontab的自己随便网上找

论坛徽章:
0
3 [报告]
发表于 2013-04-11 21:20 |只看该作者
[gqk@localhost ~]$ cat 20130412-EEE.sh
echo test
[gqk@localhost ~]$ ./`date '+%Y%m%d'`-*.sh
test

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
4 [报告]
发表于 2013-04-12 09:03 |只看该作者
怎么糊运行?

论坛徽章:
34
亥猪
日期:2015-03-20 13:55:11戌狗
日期:2015-03-20 13:57:01酉鸡
日期:2015-03-20 14:03:56未羊
日期:2015-03-20 14:18:30子鼠
日期:2015-03-20 14:20:14丑牛
日期:2015-03-20 14:20:31辰龙
日期:2015-03-20 14:35:34巳蛇
日期:2015-03-20 14:35:56操作系统版块每日发帖之星
日期:2015-11-06 06:20:00操作系统版块每日发帖之星
日期:2015-11-08 06:20:00操作系统版块每日发帖之星
日期:2015-11-19 06:20:00黄金圣斗士
日期:2015-11-24 10:43:13
5 [报告]
发表于 2013-04-12 13:48 |只看该作者
回复 3# lenky0401

你这样匹配,如果有多个结果时,会把第二三个脚本,作为第一个的后续参数的,并不会依次执行.

论坛徽章:
0
6 [报告]
发表于 2013-04-12 15:14 |只看该作者
回复 4# pitonas


    就是我以日期作为条件,文件名中带这个日期就执行,,,,我称之为模糊执行

论坛徽章:
0
7 [报告]
发表于 2013-04-12 15:15 |只看该作者
本帖最后由 deedaa 于 2013-04-12 15:15 编辑

回复 2# to407


    写的有些复杂,没搞明白怎么个过程

论坛徽章:
21
白羊座
日期:2013-08-23 15:49:17金牛座
日期:2013-10-08 17:00:03处女座
日期:2013-10-12 11:54:11CU十二周年纪念徽章
日期:2013-10-24 15:41:34午马
日期:2013-11-27 14:07:21巨蟹座
日期:2013-12-04 10:56:03水瓶座
日期:2013-12-04 15:58:00亥猪
日期:2014-05-24 16:02:3115-16赛季CBA联赛之辽宁
日期:2016-11-07 13:52:53戌狗
日期:2013-08-23 16:15:31白羊座
日期:2013-08-24 21:59:24巨蟹座
日期:2013-08-25 16:34:24
8 [报告]
发表于 2013-04-12 15:17 |只看该作者
deedaa 发表于 2013-04-12 15:15
回复 2# to407


那你就取当天日期, 把文件名放在一个文件里,再去执行这个文件,这样就可以啦.

论坛徽章:
0
9 [报告]
发表于 2013-04-12 15:22 |只看该作者
回复 3# lenky0401


    这个多个的时候好像只运行第一个,其他的没运行啊

论坛徽章:
2
午马
日期:2015-01-27 11:22:392015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2013-04-12 16:48 |只看该作者
回复 7# deedaa


    那只有再看一遍了。。。 我给的整个例子   你可以只看最后一个for循环
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP