Linux 之 Bash -- shell 的變量功能(三)

1. 變量內容的刪除

一般來說,PATH變量都比較長,內容很多,因此變量內容刪除的理解拿它來講比較方便。

這裏的內容都是乾貨
注意格式 ${變量名+指示符號+要刪除的內容}
${}在這種刪除模式裏是必須存在的
指示符號有 ###%%%
#代表從左向右刪除最短的那個
##代表從左到右刪除最長的那個
%代表從右向左刪除最短的那個
%%代表從右向左刪除最長的那個

乾貨不理解很正常,還是看實例~~

  • 截鳥哥的圖來理解#


在這裏 變量名=path 指示符號=# 要刪除的內容=/*local/bin:(和👆的內容一一對應)
有的朋友可能還會對/*local/bin有疑惑,還記得*這個叫做通配符的東西嗎,我覺得它的作用就如同省略號,/*local/bin就指---起始爲/且結尾爲local/bin:的一切內容。#指刪除符合要求的最短的內容,在上圖就刪掉了/user/local/bin:。如果不理解也不要放棄,再看看##你就明白了,對比是會輔助理解的~~

  • 截鳥哥的圖理解 ##
  • 截鳥哥的圖理解 %%%

2.變量內容的取代

這裏 /可以幫助我們替換變量中的字符串
還是注意格式問題${變量/舊字符串/新字符串}${變量//舊字符串/新字符串}
直接上例子:

1-刪除 與 2-取代 的大總結


3.變量的測試與內容替換

3.1變量的測試

  • 變量的測試
    echo ${變量名} 一般使用這條命令查看
  • 主動設定變量內容的方法
    這裏有三種方法,各有千秋,應用時各取所需啊

-- (1)變量名=欲設定的內容

之前在Linux 之 Bash -- shell 的變量功能(一)裏詳細講過變量的設定規則
-- (2)變量名=${變量名-欲添加的變量內容}

變量名=${變量名-欲添加的變量內容} 如果該變量名還沒設定,可以通過這種方式主動給予該變量內容(注意:如果該變量名已經被設定,使用-這種方式是無法主動替換變量內容的)


-- (3)變量名=${變量名:-欲添加的變量內容}

變量名=${變量名:-欲添加的變量內容} 加上「:」以後,無論變量內容爲空或者是未設定,都能夠用後面的內容替換。

3.2變量的內容替換

  • 內容替換參考表
  • 測試內容:



    根據 內容替換參考表 ,測試3中最後一問的var和str輸出是多少?
    感興趣的夥伴把答案寫在評論裏吧~
    如果看不懂可以略過,以後用到判斷變量值時,回來看看或許就能理解了~
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章