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輸出是多少?
感興趣的夥伴把答案寫在評論裏吧~
如果看不懂可以略過,以後用到判斷變量值時,回來看看或許就能理解了~