<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            利用 test 命令提高您的腳本編制水平

            發(fā)布: 2009-6-01 11:06 | 作者: 不詳 | 來(lái)源: 測試時(shí)代采編 | 查看: 51次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng) 每一種條件語(yǔ)句的基礎都是判斷什么是真什么是假。是否了解其工作原理將決定您編寫(xiě)的是質(zhì)量一般的腳本還是您將引以為榮的腳本。

              Shell 腳本的能力時(shí)常被低估,但實(shí)際上其能力的發(fā)揮受制于腳本撰寫(xiě)者的能力。您了解得越多,您就越能像變戲法似地撰寫(xiě)一個(gè)文件來(lái)使任務(wù)自動(dòng)化和簡(jiǎn)化您的管理工作。

              在 shell 腳本中進(jìn)行的每一種操作(除最簡(jiǎn)單的命令編組之外)都需要檢查條件。所有的 shell 腳本“邏輯” — 廣義意義下的“邏輯” — 通常都可以分為以下三大類(lèi):

            if {condition exists} then ...while {condition exists} do ...until {condition exists} do ...

              無(wú)論隨后的操作是什么,這些基于邏輯的命令都依靠判斷一種條件是否真實(shí)存在來(lái)決定后續的操作。test命令是使得在每一種情況下都能夠確定要判斷的條件是否存在的實(shí)用工具。因此,徹底了解這個(gè)命令對于撰寫(xiě)成功的 shell 腳本至關(guān)重要。

            工作原理

              test 命令最短的定義可能是評估一個(gè)表達式;如果條件為真,則返回一個(gè) 0 值。如果表達式不為真,則返回一個(gè)大于 0 的值 — 也可以將其稱(chēng)為假值。檢查最后所執行命令的狀態(tài)的最簡(jiǎn)便方法是使用 $? 值。出于演示的目的,本文中的例子全部使用了這個(gè)參數。

              test命令期望在命令行中找到一個(gè)參數,當 shell 沒(méi)有為變量賦值時(shí),則將該變量視為空。這意味著(zhù)在處理腳本時(shí),一旦腳本尋找的參數不存在,則test將報告該錯誤。

              當試圖保護腳本時(shí),您可以通過(guò)將所有參數包含在雙引號中來(lái)解決這個(gè)問(wèn)題。然后 shell 將變量展開(kāi),如果變量沒(méi)有值,那么將傳遞一個(gè)空值給test。另一種方法是在腳本內增加一個(gè)額外檢查過(guò)程來(lái)判斷是否設置了命令行參數。如果沒(méi)有設置命令行參數,那么腳本會(huì )告訴用戶(hù)缺少參數,然后退出。我們會(huì )通過(guò)一些例子來(lái)更具體地說(shuō)明所有這些內容。

            test和[命令

              雖然 Linux 和 UNIX 的每個(gè)版本中都包含test命令,但該命令有一個(gè)更常用的別名 — 左方括號:[。test及其別名通常都可以在 /usr/bin 或 /bin (取決于操作系統版本和供應商)中找到。

              當您使用左方括號而非test時(shí),其后必須始終跟著(zhù)一個(gè)空格、要評估的條件、一個(gè)空格和右方括號。右方括號不是任何東西的別名,而是表示所需評估參數的結束。條件兩邊的空格是必需的,這表示要調用test,以區別于同樣經(jīng)常使用方括號的字符/模式匹配操作。

            test和[的語(yǔ)法如下:

            test expression[ expression ]

              在這兩種情況下,test都評估一個(gè)表達式,然后返回真或假。如果它和if、while或until命令結合使用,則您可以對程序流進(jìn)行廣泛的控制。不過(guò),您無(wú)需將test命令與任何其它結構一起使用;您可以從命令行直接運行它來(lái)檢查幾乎任何東西的狀態(tài)。

              因為它們彼此互為別名,所以使用test或[均需要一個(gè)表達式。表達式一般是文本、數字或文件和目錄屬性的比較,并且可以包含變量、常量和運算符。運算符可以是字符串運算符、整數運算符、文件運算符或布爾運算符 — 我們將在以下各部分依次介紹每一種運算符。

            test文件運算符

             

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: test Test TEST 編制 腳本 命令 水平

            21/212>

            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>