bash之運算、測試、if語句及for循環語句

 

一、邏輯運算

        布爾運算:真、假

        與運算:

                真 && 真 = 真

                真 && 假 = 假

                假 && 真 = 假

                假 && 假 = 假

        或運算:

                真 || 真 = 真

                真 || 假 = 真

                假 || 真 = 真

                假 || 假 = 假

        非運算:

                非真 = 假

                非假 = 真

二、狀態返回值

        echo $?

        成功:則返回0

        失?。簞t返回1-255,失敗不等于假

        自定義:exit [n]

三、算數運算

        1、定義整形變量

            let VAR_NAME=INTEGER_VALUE

            declare -i VAR_NAME=INTEGER_VALUE

            如果沒有定義整形變量,字符型數字會被bash執行隱士類型轉換參與算數運算

        2、運算方式

            let VAR_NAME=ARITHMATIC_EXPRESSION

            VAR_NAME=$[ ARITHMATIC_EXPRESSION ]

            VAR_NAME=$(( EXPRESSION ))

            VAR_NAME=$( expr EXPRESSION )

        3、算數運算符

            +、-、*、/、%、**、+=、-+、、*=、/=、%=、++

四、比較運算測試

        1、整形比較測試

            -gt:大于

            -lt:小于

            -ge:大于等于

            -le:小于等于

            -eq:等于

            -ne:不等于

        2、字符串比較測試,根據ASCLL碼大小比較字符串

            雙目運算符:

                >:    

                <:

                >=:

                <=:

                ==:

                !=:

                =~:模式匹配,[[ "$VAR" =~ PATTERN ]]

            單目運算符:

                -n String:是否不空,不空則為真,空則為假

                -z String:是否為空,空則為真,不空則為假

        3、文件比較測試

                -a/-e FILE:存在則為真,否則則為假

                -f FILE:存在且為普通文件則為真,否則為假

                -d FILE:存在且為目錄文件則為真,否則為假

                -s FILE:存在且為非空文件則為真,否則為假

                -r FILE:存在且為可讀文件則為真,否則為假

                -w FILE:存在且為可寫文件則為真,否則為假

                -x FILE:存在且為可執行文件則為真,否則為假

                -L/-h:存在且為符號鏈接文件則為真,否則為假

                -b FILE:存在且為塊設備則為真,否則為假

                -c FILE:存在且為字符設備則為真,否則為假

                -S FILE:存在且為Socket套接字文件則為真,否則為假

                FILE1 -nt FILE2:FILE1的mtime新于FILE2則為真,否則為假

                FILE1 -ot FILE2:FILE1的mtime舊于FILE2則為真,否則為假

五、測試方式

        1、test EXPR

        2、[ EXPR ]

        3、[[ EXPR ]]

        測試比較通常只在同一種類型間進行

六、for循環語句

        說明:遍歷有限的元素列表,語句在同一行用;分隔

        語法:

            for VAR_NAME in LIST 

            do

                    循環體

            done

        LIST:列表,中間包括一個或多個元素

        退出條件:遍歷結束

七、if條件語句


            單分支if語句:


                if 測試條件;then

                    選擇分支

                fi


            雙分支if語句:


                if 測試條件;then

                    選擇分支1

                else

                    選擇分支2

                fi

       

             多分支if語句:


                if 測試條件1;then

                    選擇分支1

                elif 測試條件2;then

                    選擇分支2

                elif 測試條件2;then

                    選擇分支3

                …

                elif 測試條件n;then

                    選擇分支n

                else

                    選擇分支{n+1}

                fi

        

原創文章,作者:princepar,如若轉載,請注明出處:http://www.www58058.com/4780

(1)
princeparprincepar
上一篇 2015-05-25 20:53
下一篇 2015-05-27 10:02

相關推薦

  • Linux進程管理常用命令(二)

       htop命令:         選項:         -d # : 指定延遲時間間隔;         -u  UserName :僅顯示指定用戶的進程;       &n…

    Linux干貨 2017-01-05
  • 馬哥教育網絡班21期-第五周課程練習

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@localhost ~]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符…

    Linux干貨 2016-08-08
  • Linux shell腳本編程練習題

    《書籍上面的練習題》 問題:誰在霸占磁盤資源?     如果您負責的Linux服務器上有許多用戶,則經常需要解決的一個問題就是誰在使用所有磁盤空間。這是個老掉牙的問題有時比其他問題更難以弄清。     不幸的是,雖然跟蹤用戶磁盤空間使用情況非常重要,但卻沒有一個Linux命令可以提供此信息。因此需要…

    Linux干貨 2016-06-09
  • Linux運維之磁盤管理

    ※磁盤管理 計算機是由五大組成部件:輸入設備,輸出設備,存儲器,運算器,控制器,其中輸入設備我們稱之為I/O設備,如鍵盤,掃描器,運算器和控制稱之為cpu,存儲器如,內存,硬盤,優盤。計算機其實只需要內存和cpu其實已經可以完成工作了,但是內存屬于隨機存儲設備,斷電之后就丟失數據,所以我們就需要通過其他的輔助存儲設備來彌補內存的不足,這些輔存我們稱之為外存?!?/p>

    Linux干貨 2016-08-27
  • 6

    請詳細總結vim編輯器的使用并完成以下練習題; 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/ rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; #   cp /etc/rc.d/rc.sysinit /tmp/ #   vim…

    Linux干貨 2017-02-07
  • 軟/硬鏈接的“愛恨糾葛”

    硬鏈接 概念 硬鏈接(hard link,也稱鏈接)是對同一個文件系統中的一個文件的連接,它關聯的是一個文件的inode(節點)。linux中每一個文件系統都有其一套獨立而完整的inode“機制”。同一個文件系統中,inode是文件存在的唯一標識。文件名正是通過映射一個文件的inode號來關聯一個文件。當然一個文件也可以同時擁有不同的幾個文件名,因此通俗的來…

    Linux干貨 2016-10-20
欧美性久久久久