shell條件判斷中單個中括號和霜中括號有什么需要

  1、單中括號 []

    ①bash 的內(nèi)部命令,[和test是等同的。如果我們不用絕對路徑指明,通常我們用的都是bash自帶的命令。if/test結(jié)構(gòu)中的左中括號是調(diào)用test的命令標識,右中括號是關閉條件判斷的。這個命令把它的參數(shù)作為比較表達式或者作為文件測試,并且根據(jù)比較的結(jié)果來返回一個退出狀態(tài)碼。if/test結(jié)構(gòu)中并不是必須右中括號,但是新版的Bash中要求必須這樣。

寧海ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

    ②Test和[]中可用的比較運算符只有==和!=,兩者都是用于字符串比較的,不可用于整數(shù)比較,整數(shù)比較只能使用-eq,-gt這種形式。無論是字符串比較還是整數(shù)比較都不支持大于號小于號。如果實在想用,對于字符串比較可以使用轉(zhuǎn)義形式,如果比較"ab"和"bc":[ ab \< bc ],結(jié)果為真,也就是返回狀態(tài)為0。[ ]中的邏輯與和邏輯或使用-a 和-o 表示。

    ③字符范圍。用作正則表達式的一部分,描述一個匹配的字符范圍。作為test用途的中括號內(nèi)不能使用正則。

    ④在一個array 結(jié)構(gòu)的上下文中,中括號用來引用數(shù)組中每個元素的編號。

 2、雙中括號` `

    ①[[是 bash 程序語言的關鍵字。并不是一個命令,` ` 結(jié)構(gòu)比[ ]結(jié)構(gòu)更加通用。在[[和]]之間所有的字符都不會發(fā)生文件名擴展或者單詞分割,但是會發(fā)生參數(shù)擴展和命令替換。

    ②支持字符串的模式匹配,使用=~操作符時甚至支持shell的正則表達式。字符串比較時可以把右邊的作為一個模式,而不僅僅是一個字符串,比如[[ hello == hell? ]],結(jié)果為真。` ` 中匹配字符串或通配符,不需要引號。

    ③使用` `.``.``.` `條件判斷結(jié)構(gòu),而不是[ ... ],能夠防止腳本中的許多邏輯錯誤。比如,&&、||、<和> 操作符能夠正常存在于` `條件判斷結(jié)構(gòu)中,但是如果出現(xiàn)在[ ]結(jié)構(gòu)中的話,會報錯。比如可以直接使用if [[ $a != 1 && $a != 2 ]], 如果不適用雙括號, 則為if [ $a -ne 1] && [ $a != 2 ]或者if [ $a -ne 1 -a $a != 2 ]。

    ④bash把雙中括號中的表達式看作一個單獨的元素,并返回一個退出狀態(tài)碼。

分享文章:shell條件判斷中單個中括號和霜中括號有什么需要
網(wǎng)站網(wǎng)址:http://muchs.cn/article16/iiocgg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設、電子商務、ChatGPT網(wǎng)站收錄、企業(yè)網(wǎng)站制作、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設