(一)判斷語句sql
[$# -lt 4 ]判斷語句,格式[空格 比較對象1 比較符號 比較對象2]數據庫
$# 啓動腳本時攜帶參數個數;參數個數總數。spa
$1 表明第一個參數。對象
$? 最後一次執行名命令的退出狀態,0成功,非0失敗。get
-eq 等於;-ne 不等於;-gt 大於;-ge 大於等於; -lt 小於; -le 小於等於;it
數值比較 if [ 「$1」 -eq 「$2」 ],其餘比較不須要」」引號。awk
exit 0 正常退出。exit 1 異常退出,終止程序退出。變量
(二) 判斷參數ftp
if [ ! -d $1 ] 判斷目錄是否不存在date
-e 存在文件。 -d 目錄。-L 符號連接。
-r 可讀。 -w 可寫。 -x可執行。
-f 常規文件。 -s 文件長度不爲0。-h 軟連接。
文件1 -nt 文件2 若是文件1比文件2新,則爲真。
文件1 -ot 文件2 若是文件1比文件2舊,則爲真。
if [ -z 「$pid」 ] 判斷變量的值是否爲空。zero=0 爲空返回0,爲true。這個例子爲單對括號,變量須要加雙引號。
if [[ -z $pid ]] 雙對括號變量不須要加雙引號。
if [ -n 「$pid」 ] 判斷變量的值是否爲空。name=0 非空返回0,爲true.爲空返回1,爲false。這個例子爲單對括號,變量須要加雙引號。
if [[ -n $pid ]] 雙對括號變量不須要加雙引號。
(三)sqlplus 結束符號
sqlplus 用戶名/密碼@數據庫名 <<!或者sqlplus 用戶名/密碼@數據庫名 <<EOF
EOF是end of file 縮寫。
sql語句結束後須要加!或者EOF.
(四)ftp用法
open $hostaddr
user $username $userpassword
cd /etl/date
binary
mget $grepstr*
mdel $grepstr*
put $1
close
by
!
(五)while read line用法。 \爲鍵盤左上方頓號,1旁邊。
while read line
do
tbname=\echo $line | awk | -F’,’ ‘{print $1}’\
tbspace=\echo $line | awk | -F’,’ ‘{print $2}’\
echo $tbname
echo $tbspace
sh xxxx
done < t.ini
t.ini文件以下
T1,F1,1
T2,F2,1
(六) for 用法
for((i=1;i<=$1;i++)); do
echo 「$i」
sqlplus $DB<<EOF&
@/etl/$2.sql $i
(七)export 設置或顯示環境變量
export JAVA_HOME=/etl/bin