linux變數內容的刪除與替代

2021-09-02 11:55:00 字數 1962 閱讀 3370

bash 對${}定義了不少用法。對變數的操作及判斷是乙個十分有用的工具,應好好學習一下,以下是說明的表列

變數的刪除$$

$$變數的提取$$

變數的替換$$

變數的刪除、提取、替換

# file=/dir1/dir2/dir3/my.file.txt //定義乙個變數

# echo $file //顯示定義的變數

/dir1/dir2/dir3/my.file.txt

# echo $ //刪除/和/左邊的字串,最短匹配的

dir1/dir2/dir3/my.file.txt

# echo $ //刪除/和/左邊的字串,最長匹配的

my.file.txt

# echo $ //刪除/和右邊的字串,最短匹配

/dir1/dir2/dir3

# echo $ //刪除/和右邊的字串,最長匹配,全部刪除完了,因此為空置

# echo $

/dir2/dir3/my.file.txt //提取 這個不知如何解釋,沒查到

# echo $ //提取第5個位元組左邊的5個 這個不知如何解釋,沒查到

/dir1

# echo $ //提取第5個位元組的右邊6個位元組

/dir2/

# echo $ //用path替換最左邊的dir,其中/應該是參考符,如果沒有/的變數內容應該如何替換?

/path1/dir2/dir3/my.file.txt

# echo $ //用path替換全部的dir

/path1/path2/path3/my.file.txt

#利用 $ 還可針對不同的變數狀態(沒設定、空值、非空值)賦值:$$

$$ 當parameter指示的引數沒有被設值的時候,將會通過標準錯誤的方式顯示word中的語句。$$

$$ 可計算出變數值的長度:

$ 可得到 27 ,因為/dir1/dir2/dir3/my.file.txt 是27個位元組

如果old變數為未設定或叫不存在,那麼將new=content

# unset new old

# echo $

content

# new=$

# echo new=$new,old=$old

new=content,old=

如果old變數為空字串,那麼將new=空

# unset old new

# old=""

# new=$

# echo new=$new,old=$old

new=,old=

#如果old變數為非空字串,那麼new=$old

# unset old new

# old=old

# new=$

# echo new=$new,old=$old

new=old,old=old

#總結及其他字元整理

變數設定方式 old沒有設定 old為空字串 old已設定為非空字串

new=$ new=content new= new=$old

new=$ new=content new=content new=$old

new=$ new= new=content new=content

new=$ new= new= new=content

new=$ old=content

new=content old不變

new= old不變

new=$old

new=$

old=content

new=content

old=content

new=content

old不變

new=$old

new=$

content輸出至stderr new= var=$str

new=$

content輸出至stderr content輸出至stderr var=$str

linux變數內容的刪除和替換

shell內建了對變數進行刪除和替換的功能,非常的方便。雖然平時用的機會非常少,但是閱讀別人寫的指令碼時,會經常遇到。所以進行乙個學習總結。從變數頭部開始匹配模式,將符合的最短資料刪除 從變數頭部開始匹配模式,將符合的最長資料刪除 從變數尾部開始匹配模式,將符合的最短資料刪除 從變數尾部開始匹配模式...

bash變數內容的刪除與取代

摘自 鳥哥的linux私房菜 基礎學習版 每個引數字元 variable 要修改的變數 符合取代文字的 最短的 那乙個 符合取代文字的 最長的 那乙個 或 代表 從變數內容的最前面開始刪除 從最前面開始刪除時,從最前面的 字元開始刪除 kerberos bin 用來取代0到無窮多個任意字元,用來表示...

shell 變數內容刪除 替換

鳥哥例項練習 變數設定方式說明 若變數內容從頭開始的資料符合 關鍵字 則將符合的最短資料刪除 若變數內容從頭開始的資料符合 關鍵字 則將符合的最短資料刪除 若變數內容從尾向前的資料符合 關鍵字 則將符合的最短資料刪除 若變數內容從尾向前的資料符合 關鍵字 則將符合的最長資料刪除 若變數內容符合 舊字...