${filename}用法二:


 假設:filename=/dir1/dir2/dir3/my.filename.txt


1.單一符號是最小匹配﹔兩個符號是最大匹配。

 

${filename:0:5}:提取最左邊的5個字節:/dir1

${filename:5:5}:提取第5個字節右邊的連續5個字節:/dir2

note:

${#var}可計算出變量值的長度:

${#filename}可得到27,因為/dir1/dir2/dir3/my.filename.txt剛好是31個字節

 

 

 

2.對變量值里的字串作替換:

${filename/dir/path}:將第一個dir提換為path:/path1/dir2/dir3/my.filename.txt

${filename//dir/path}:將全部dir提換為path:/path1/path2/path3/my.filename.txt

 

 

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

${filename-my.filename.txt}:假如$filename沒有設定,則使用my.filename.txt作傳回值。(空值及非空值時不作處理)

${filename:-my.filename.txt}:假如$filename沒有設定或為空值,則使用my.filename.txt作傳回值。(非空值時不作處理)

${filename+my.filename.txt}:假如$filename設為空值或非空值,均使用my.filename.txt作傳回值。(沒設定時不作處理)

${filename:+my.filename.txt}:若$filename為非空值,則使用my.filename.txt作傳回值。(沒設定及空值時不作處理)

${filename=my.filename.txt}:若$filename沒設定,則使用my.filename.txt作傳回值,同時將$filename賦值為my.filename.txt。(空值及非空值時不作處理)

${filename:=my.filename.txt}:若$filename沒設定或為空值,則使用my.filename.txt作傳回值,同時將$filename賦值為my.filename.txt。(非空值時不作處理)

${filename?my.filename.txt}:若$filename沒設定,則將my.filename.txt輸出至STDERR。(空值及非空值時不作處理)

${filename:?my.filename.txt}:若$filename沒設定或為空值,則將my.filename.txt輸出至STDERR。(非空值時不作處理)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM