bash的變量中存放的字符串的處理方式

bash的變量中存放的字符串的處理方式

     

   

      

       bash變量:

          弱變量:

           1.無需實現定義即可應用;

           2.變量沒有數據類型的硬性要求,默認是字符型;



       1.字符串切片:

            ${#VAR}:返回字符型變量的變量值長度;

            ${VAR:offset}:返回字符型變量中第“offset”位置之後的內容,不包括第“offset”位置的字符:

               offset取值範圍:0-$[${#VAR-1}]

            ${VAR:offset:number}:返回字符型變量中從第“offset”個字符後開始長度爲“number”的字符部分;

            ${VAR:-length}:取字符型變量字符串最右側的“length”個字符;


      注意:在“length”之前要留有空格;

            QQ截圖20171124202027.png

                





         

      2.基於模式(PATTERN)取字符串:

           ${VAR*PATTERN}:自左而右,查找VAR變量所存儲的字符串中,第一次被PATTERN匹配的字符,

                     刪除從字符串開始到第一個被PATTERN匹配到的字符之間的所有字符;          


           ${VAR##*PATTERN}:自左而右,查找VAR變量所存儲的字符串中,第一次被PATTERN匹配的字符,

                       刪除從字符串開始到最後一個被PATTERN匹配到的字符之間的所有字符;

          

           ${VAR%PATTERN*}:自右而左,查找VAR變量所存儲的字符串中,第一次被PATTERN匹配的字符,

                      刪除從字符串開始到第一個被PATTERN匹配到的字符之間的所有字符;


           ${VAR%%PATTERN*}:自右而左,查找VAR變量所存儲的字符串中,所有被PATTERN匹配的字符,

                      刪除從字符串結尾到最後一個被PATTERN匹配到的字符之間的所有字符;

           QQ截圖20171124201911.png



     3.查找替換:

${VAR/PATTERN/SUBSTRING}:在VAR變量中,自左而右查找能夠被PATTERN匹配的內容,將其中第一個匹配到的結果更換成SUBSTRING;

${VAR//PATTERN/SUBSTRING}:在VAR變量中,自左而右查找能夠被PATTERN匹配的內容,將所有被PATTERN匹配到的結果更換成SUBSTRING;

${VAR/#PATTERN/SUBSTRING}:在VAR變量中查找行首匹配PATTERN的內容,將匹配的結果更換成SUBSTRING;

${VAR/%PATTERN/SUBSTRING}:在VAR變量中查找行尾匹配PATTERN的內容,將匹配的結果更換成SUBSTRING;

           QQ截圖20171124204112.png

          

         


4.查找刪除:

${VAR/PATTERN}:在VAR變量中,自左而右查找能夠被PATTERN匹配的內容,將其中第一個匹配到的結果刪除;

${VAR//PATTERN}:在VAR變量中,自左而右查找能夠被PATTERN匹配的內容,將其中所有匹配到的結果刪除;

${VAR/#PATTERN}:在VAR變量中查找行首匹配PATTERN的內容,將匹配的結果刪除;

${VAR/%PATTERN}:在VAR變量中查找行尾匹配PATTERN的內容,將匹配的結果刪除;

          QQ截圖20171124204945.png

          


5.字符串的大小寫轉換:

${VAR^^}:將VAR變量中的所有的小寫字母轉換成大寫字母;

${VAR,,}:將VAR變量中的所有的大寫字母轉換成小寫字母;

          QQ截圖20171124205233.png

                  



6.變量賦值:

${VAR:-value}:如果變量VAR爲空值或者變量未被定義,那麼直接返回value中的值;否則返回變量VAR的值;

${VAR:+value}:如果變量VAR已經定義且不爲空,則返回value的值;

${VAR:=value}:如果變量VAR爲空值或者變量未被定義,那麼直接返回value中的值,並且將value的值賦給變量VAR;否則返回變量VAR的值;

          QQ截圖20171124211018.png

          


7.變量的間接引用:

如果第一個變量的值恰好是第二個變量的變量名,從第一個變量引用第二個變量的值的方法,就稱爲變量的間接引用,也稱爲間接變量引用;

如:VAR1=VAR2, VAR2=hellolink


bash提供了這樣的間接變量引用的方法:

eval MYVAR=\$$VAR1

          QQ截圖20171124214033.png































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章