bash基礎之變量替換

假設我們定義了一個變量爲:
file=/dir1/dir2/dir3/my.file.txt
我們可以用 ${ }  分別替換獲得不同的值:
${file#*/}              拿掉第一條 /  及其左邊的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}            拿掉最後一條 /  及其左邊的字符串:my.file.txt

${file#*.}              拿掉第一個 .  及其左邊的字符串:file.txt
${file##*.}            拿掉最後一個 .  及其左邊的字符串:txt
${file%/*}             拿掉最後條 /  及其右邊的字符串:/dir1/dir2/dir3
${file%%/*}          拿掉第一條 /  及其右邊的字符串:(空值)
${file%.*}             拿掉最後一個 .  及其右邊的字符串:/dir1/dir2/dir3/my.file
${file%%.*}          拿掉第一個 .  及其右邊的字符串:/dir1/dir2/dir3/my

記憶的方法爲:
#是去掉左邊(在鍵盤上 #  在 $  之左邊)
%  是去掉右邊(在鍵盤上 %  在 $  之右邊)
單一符號是最小匹配﹔兩個符號是最大匹配

 

image

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