1.test命令的測試功能
-e 文件名是否存在
-f 文件名是否存在且為文件
-d 文件名是否存在且為目錄
范例1 檢查/dmtsai是否存在,存在輸出 exist 不存在輸出 Not exist
test -e /dmtsai && echo "exist" || echo "not exist"
2.參數
shell腳本被執行時可以帶進參數,其基本用法是:
腳本名 參數1 參數2 參數3 ......
$0 $1 $2 $3
$#:表示總參數的個數;
$@:所有參數的字符串。
3.條件判斷式
有3種形態
•if或elif後的條件必須用[],且表達式和中括號之間一定要有空格;
•比較的表達式中用$取變量值之後要用雙引號引起; •在linux的shell腳本中==和=含義是一樣的。 netstat命令 可以查詢到目前主機打開的網絡服務端口,我們可以利用“netstat -tuln”來取得目前主機有啟動的服務。 常見的port和相關網絡服務的關系: 80:WWW 21:ftp 22:ssh 25:mail 4.case…esac語句 shell腳本中的case…esac語句相當於switch語句 5.循環(while循環和for循環) whilie循環while [ condition ] #有空格 do 程序塊 done 當condition條件成立時,就進行循環,直到condition的條件不成立停止。 until [ condition ] do 程序塊 done 當condition的條件成立時,終止循環,否則就持續進行循環
?話說 什麼時候有空格,一開始條件 !=兩邊沒加空格 就錯了。。。
for循環
#固定循環
#變量 第一次等於 value1,第二次等於 value2.。。。
for 變量名 in value1 value2 value3 do 語句 done
#常用於數值的循環 for ((初始值;終止條件;執行步長)) do 語句 done