一、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