热99re久久免费视精品频,四川少妇被弄到高潮,人妻一区二区三区,亚洲精品久久久久久久久久久捆绑

美國服務器Linux系統(tǒng)中括號{ }的作用

上期美聯(lián)科技小編介紹了美國服務器Linux系統(tǒng)中括號( )和[ ]括號的作用,這期接著來介紹美國服務器Linux系統(tǒng)中括號{ }的作用。 1、美國服務器Linux系統(tǒng)中括號{ }的常規(guī)用法 1)括號{ }拓展

美國服務器Linux系統(tǒng)中括號{ }的作用

來源:美國服務器 作者:美聯(lián)科技小編Zoe 瀏覽量:152
2020-02-24
0
        上期美聯(lián)科技小編介紹了美國服務器Linux系統(tǒng)中括號( )和[ ]括號的作用,這期接著來介紹美國服務器Linux系統(tǒng)中括號{ }的作用。

        1、美國服務器Linux系統(tǒng)中括號{ }的常規(guī)用法

        1)括號{ }拓展

        對括號{ }中的文件名做擴展。在括號{ }中,不允許有空白,除非這個空白被引用或轉義。第一種:對括號{ }中的以逗號分割的文件列表進行拓展。如 touch {a,b}.txt 結果為a.txt b.txt。第二種:對括號{ }中以.. 分割的順序文件列表起拓展作用,如:touch {a..d}.txt 結果為a.txt b.txt c.txt d.txt

        2)代碼塊,又被稱為內(nèi)部組

        這個結構事實上創(chuàng)建了一個匿名函數(shù),與括號( )中的命令不同,括號{ }內(nèi)的命令不會新開一個子shell運行,即腳本余下部分仍可使用括號內(nèi)變量。括號內(nèi)的命令間用分號隔開,最后一個也必須有分號。{ }的第一個命令和左括號之間必須要有一個空格。

        2、美國服務器Linux系統(tǒng)中括號{ }的幾種特殊的替換結構

        1)${var:-string}和${var:=string}:若變量var為空,則用在命令行中用string來替換${var:-string},否則變量var不為空時,則用變量var的值來替換${var:-string}

        對于${var:=string}的替換規(guī)則和${var:-string}是一樣的,所不同之處是${var:=string}若var為空時,用string替換${var:=string}的同時,把string賦給變量var: ${var:=string}很常用的一種用法是,判斷某個變量是否賦值,沒有的話則給它賦上一個默認值。

        2) ${var:+string}的替換規(guī)則和上面的相反,即只有當var不是空的時候才替換成string,若var為空時則不替換或者說是替換成變量 var的值,即空值。

        3)${var:?string}替換規(guī)則為:若變量var不為空,則用變量var的值來替換${var:?string};若變量var為空,則把string輸出到標準錯誤中,并從腳本中退出。我們可利用此特性來檢查是否設置了變量的值。

        3、美國服務器Linux系統(tǒng)中括號{ }的四種模式匹配替換結構

        模式匹配記憶方法:

        # 是去掉左邊(在鍵盤上#在$之左邊)

        % 是去掉右邊(在鍵盤上%在$之右邊)

        #和%中的單一符號是最小匹配,兩個相同符號是最大匹配。

        第一種模式:${variable%pattern} ,這種模式時,shell在variable中查找,看它是否一給的模式pattern結尾,如果是,就從命令行把variable中的內(nèi)容去掉右邊最短的匹配模式。
 
        第二種模式: ${variable%%pattern},這種模式時,shell在variable中查找,看它是否一給的模式pattern結尾,如果是,就從命令行把variable中的內(nèi)容去掉右邊最長的匹配模式。

        第三種模式:${variable#pattern} 這種模式時,shell在variable中查找,看它是否一給的模式pattern開始,如果是,就從命令行把variable中的內(nèi)容去掉左邊最短的匹配模式。

        第四種模式: ${variable##pattern} 這種模式時,shell在variable中查找,看它是否一給的模式pattern結尾,如果是,就從命令行把variable中的內(nèi)容去掉右邊最長的匹配模式。

        這四種模式中都不會改變variable的值,其中,只有在pattern中使用了*匹配符號時,%和%%,#和##才有區(qū)別。結構中的pattern支持通配符,*表示零個或多個任意字符,?表示僅與一個任意字符匹配,[...]表示匹配中括號里面的字符,[!...]表示不匹配中括號里面的字符。

        4、美國服務器Linux系統(tǒng)中括號{ }的字符串提取和替換

        第一種模式:${var:num},這種模式時,shell在var中提取第num個字符到末尾的所有字符。若num為正數(shù),從左邊0處開始;若num為負數(shù),從右邊開始提取字串,但必須使用在冒號后面加空格或一個數(shù)字或整個num加上括號,如${var: -2}、${var:1-3}或${var:(-2)}。
 
        第二種模式:${var:num1:num2},num1是位置,num2是長度。表示從$var字符串的第$num1個位置開始提取長度為$num2的子串。不能為負數(shù)。

        第三種模式:${var/pattern/pattern}表示將var字符串的第一個匹配的pattern替換為另一個pattern。

        第四種模式:${var//pattern/pattern}表示將var字符串中的所有能匹配的pattern替換為另一個pattern。

        以上就是美國服務器Linux系統(tǒng)中括號{ }的作用,相信可以幫助美國服務器用戶更清晰的使用美國服務器Linux系統(tǒng)中的括號{ }。

        關注美聯(lián)科技,了解更多IDC資訊!
部分文章來源與網(wǎng)絡,若有侵權請聯(lián)系站長刪除!