可惡的bash腳本的執行結

bash之if(選擇執行結構)bash

    特色:根據條件的邏輯判斷結果選擇執行的語句內容ide

if的單分支結構spa

    if 命令 ;then 命令 ;fi
it

結構分析:首先 判斷if後命令的狀態返回值,若是爲真(狀態返回值爲0),則執行then後面的命令,fi(結束if的命令)io

注意:一行中如有多個命令存在須要用分號分開for循環

    若不習慣使用分號可書寫爲class

    if 命令
變量

    then 命令
file

    fi
循環

if的雙分支結構

    if 命令 ;then 命令;else命令;fi

結構分析:首先判斷if後命令的狀態返回值,若是爲真(狀態返回值爲0),則執行then後面的命令,不然執行else後面的命令;fi結束if語句

    建議書寫格式:

    if 命令 ;then

        命令

    else

        命令

    fi

注意縮進:以便於在查看是能迅速理解表達內容


if的多分支結構

    if 命令;then 命令;elif 命令;then命令;elif命令;thenml;.....else 命令;fi

結構分析:判斷if後命令的狀態返回值,若爲真則執行then後面的命令,

若爲假,則判斷第一個elif後命令的狀態返回值;若爲真則執行該elif後的then命令

若爲假,則判斷下一個elif後命令的狀態返回值,若爲真則執行該elif後的then命令

.........

當if以及全部的elif後的全部的命令的狀態返回值均爲假時,執行else後的命令

fi


建議書寫格式:

      if 命令 ;then

        命令

      elif 命令 ;then

        命令

      elif 命令 ;then

        命令

        ......

      else

        命令

      fi

注意if語句能夠嵌套;

   如:if命令;then

        if 命令;then

            if命令;then

            ......

            else

                命令

            fi

        else

            命令

        fi    

    else

        命令

    fi



bash之for

    循環執行結構:

        格式:for 參數變量 in 變量取值表 ;do

                循環體

            done

    

for循環須要遍歷的列表;能夠經過如下方式生成列表

    1.直接給出列表

[root@localhost ~]# for i in 1 2 3;do echo -e "$i"; done
1
2
3

2.純整數列表

  ①:花括號展開

{FISTNUM..LASTNUM} :FISTNUME-LASTNUM之間的包括其在內的數值

[root@localhost ~]# for i in {1..9};do echo  "$i"; done
1
2
3
4
5
6
7
8
9

{FIST,SECOND,THID,...,LAST}:參數列表

[root@localhost ~]# for i in {1,3,5,7,9};do echo  "$i"; done
1
3
5
7
9


 ②:seq命令

seq [OPTION]...LASR 列表爲1到LASR的全部整數

[root@localhost ~]# for i in $(seq 5);do echo -e "$i"; done
1
2
3
4
5

seq [option]...FIRST LAST 列表爲 FIRST到LAST 之間全部的整數

[root@localhost ~]# for i in $(seq 5 9);do echo -e "$i"; done
5
6
7
8
9

seq [OPTION]...FIRST n LAST 列表爲 FIRST 到LAST 以n爲公差的全部整數

[root@localhost ~]# for i in $(seq 5 2 9);do echo -e "$i"; done
5
7
9

注意:seq是命令在引用時應該添加 $() 
 ③:花括號展開

{FIST..LAST} :從FIST 到 LAST之間由規律的字符列表

[root@localhost ~]# for i in {a..f};do echo -e "$i"; done
a
b
c
d
e
f

 ④:命令的執行結果:

ls /etc

grep /path/to/somefile

 ⑤:通配符

[root@localhost ~]# for i in /mnt/*;do echo -e "$i"; done
/mnt/a.txt
/mnt/b.txt
/mnt/c.txt

 ⑥:某些特殊變量的值

$*,$@

相關文章
相關標籤/搜索