一、shell脚本示例
自己写的一个
1 #!/bin/bash
2
3 #对目录下的文件进行内容过滤,有某项纪录的文件传送到指定的目录下
4
5 ########################
6 #DIR="$1" # 命令行中参数,第$0个是程序名,真正参数从$1开始, $#真正的参数个数,$*所有参数组成的字符串,$$本程序的PID
7 #echo $DIR
8
9 while getopts d:s:t: opt # getopts 获取命令行参数, “d:s:t:”代表3个选项,
# 每个选项后的冒号表示此选项要参数值,opt表示当前判断选项
10 do
11 case $opt in
12 d)
13 DIR=$OPTARG # $OPTARG存储当前选项的参数值
14 echo $DIR;; # 一个case项的结束,必须两个分号
15 s)
16 STR=$OPTARG
17 echo $STR;;
18 t)
19 TO=$OPTARG
20 echo $TO;;
21 /?) # 默认选项
22 echo "无效参数";;
23 esac
24 done
25
26
27 ########################
28 FILELIST=`ls $DIR` # 获取DIR目录下文件列表
29
30 for file in $FILELIST # 依此遍历每个文件
31 do
32 if grep -q $STR "$DIR/$file" #if判断, grep命令执行成功情况,-q选项表示安静模式,成功返回0,为真,走then;失败返回非0
33 then
34 echo $file
35 scp "$DIR/$file" $TO
36 fi
37 done
源码中注释。
命令行参数可参看:http://blog.csdn.net/zxpost1927/article/details/3865114
if条件判断可参看:http://blog.csdn.net/hainan16/article/details/6667489