1.while 的格式
x=1while ((x<=10)) ;do if [ $x == "2" -o $x == "4" ];then #條件x=2或者x=4執行下面語句 x=$[$x+1] continue #跳過本次循環 fiecho "$x" if [ $x == "8" ];then break #終止循環 fix=$[$x+1]done#最后輸出結果為135678
2.for 循環
for i in `seq 10` ;doecho "$i"done#輸出為1-10個數,for 循環不是靠判斷來循環的是靠列表循環的,seq 10 這個函數能列出1-10的數值,這些數值就是for循環的列表for i in `ls` ;doecho "$i"done#這個程序最后輸出為該文件夾的所有目錄及文件夾
3數組
sz=(00 11 22 33 44 55)echo "${sz[*]}"#輸出所有數值,"@"和"*"效果一樣echo "${#sz[*]}"#輸出數值個數echo "${sz[1]}"#顯示指標1的數值,注意默認指標從0開始計算x=10sz[$10]=233echo "${sz[$10]}"#變量的使用,顯示第10指標個數值declare -A sz#定義關聯數組,使用非數字格式的必須預先定義下sz[yi]="111"sz[er]="222"echo "${sz[*]}"echo "${sz[er]}"顯示結果 111 222 222
4.函數調用
hansu(){ #定義函數echo "第$1次,函數顯示"}hansu 1#調用函數并傳遞參數,函數內部用$1 $2使用變量,和shell用法一樣hansu 2hansu 3最后顯示效果;第1次,函數顯示第2次,函數顯示第3次,函數顯示
5.if的使用
if [ "a" == "a" ];then echo "條件滿足"else echo "條件不滿足"fi#正常使用,滿足條件執行第一個語句if [ !"a" == "a" ];then echo "條件滿足"else echo "條件不滿足"fi#加個"!"號,取反值,滿足條件,就變成了不滿足了
檢測文件
if [ -e /root/123.txt ];then echo "文件存在"else echo "文件不存在"fi-e 判斷對象是否存在-d 判斷對象是否存在,并且為目錄-f 判斷對象是否存在,并且為常規文件-L 判斷對象是否存在,并且為符號鏈接-h 判斷對象是否存在,并且為軟鏈接-s 判斷對象是否存在,并且長度不為0-r 判斷對象是否存在,并且可讀-w 判斷對象是否存在,并且可寫-x 判斷對象是否存在,并且可執行-O 判斷對象是否存在,并且屬于當前用戶-G 判斷對象是否存在,并且屬于當前用戶組-nt 判斷file1是否比file2新 [ "/data/file1" -nt "/data/file2" ]-ot 判斷file1是否比file2舊 [ "/data/file1" -ot "/data/file2" ]
字符運算
=: 檢測兩個字符是否相等,相等返回真!= 檢測兩個字符是否不等,不等返回真-z 檢測字符串長度是否為0,為0返回真,全是空格返回真 $ 檢測字符是否為空,有值時時候返回真,全是空格返回假
數值比較
x=10y=5if [ $x -gt $y ];then#注意表達式還能這樣寫 if (( $x > $y ));then 效果也是一樣的而且更方便于記憶 echo "真"else echo "假"fi#結果返回真-gt是左邊大于右邊,返回真 同 >-lt是小于 同 <-eq是等于 同 = -ne是不等于 同!=-ge是大于等于 同>=-le是小于等于 同<=
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答