平时除了用bash写几个mysql备份和rsync同步的脚本用来给crond 定时任务之外,找不到其他用处了。
awk sed 之类的根本就用不上了。。。
awk sed 之类的根本就用不上了。。。

1 felix021 Jan 13, 2014 sed我很少用,不过find、awk、sort、uniq、grep、tail、head之类,在生产上倒是经常用到,简单跑点统计、查看日志什么的,都很有用。 |
2 hzlzh PRO awk +1 |
7 gouera OP @felix021 那这个要求这样写OK不 tail -1000 /var/log/messages | grep Warning >warning.log mail -s warning [email protected] <warning.log rm -rf warning.log |
13 nervouna Jan 13, 2014 @gouera 我也没写过这么长的,50 行对我来说已经很长了……习惯了其它编程语言,去写 Bash 会觉得很蛋疼,各种加不加空格的规则总是忘。主要还是不经常写,估计经常写的人会记得熟一些吧。 |
16 c0878 Jan 13, 2014 拿运维工作举例 拿一份access.log过来 用脚本获取某个时段访问最多的ip按次数排列,获取响应时间超过3s的url之类的 也可以弄出自动开通ftp账户,自动配置apache/nginx站点之类的功能 用途很多的 |
17 gouera OP @felix021 这个怎样。。 #!/bin/bash size="0K" [ -e size.txt ] || touch size.txt [ ! -z size.txt ] && size=`cat size.txt` tail -c "+${size}" /var/log/messages | grep Warning | uniq > warning.log mail -s warninglog [email protected] <warning.log #rm -rf warning.log ls -sh /var/log/messages | awk '{print $1}' >size.txt size变量哪里是0K 不是OK... |
18 felix021 Jan 13, 2014 @gouera 1. ls的-h参数一定是以KB为单位么? 2. tail 的 -c 参数是以KB为单位么? 3. 如果这个脚本执行的时候不是在脚本所在位置执行会出现什么问题? 4. warning.log这个中间文件是必要的吗? |
19 gouera OP |
20 halfbloodrock Jan 13, 2014 RVM的几个shell脚本是经典的学习例子。 |
21 jybox Jan 13, 2014 我感觉bash最适合写安装脚本,毕竟是所有发行版都支持的 |
22 loryyang Jan 14, 2014 做一些简单的自动化操作和文本分析。但是说实话,现在的脚本语言,比如python、perl什么的牛逼多了,bash只是更加贴近操作系统,这个算是一个优势吧 |