国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

TLCL學習筆記|第35章|字符串和數字|part1(參數展開)

2022-05-06 02:18 作者:LogByMax  | 我要投稿

(認知有限,如有不妥,還望告知,歡迎討論)


參數展開時注意使用{}

eg.

管理空變量的展開

${parameter:-word}

若 parameter 沒有設置(例如,不存在)或者為空,展開結果是 word 的值。若 parameter 不為空,則展開結果是 parameter 的值。

${parameter:=word}

若 parameter 沒有設置或為空,展開結果是 word 的值。另外,word 的值會賦值給 parameter。 若 parameter 不為空,展開結果是 parameter 的值。

${parameter:?word}

若 parameter 沒有設置或為空,這種展開導致腳本帶有錯誤退出,并且 word 的內容會發(fā)送到標準錯誤。若 parameter 不為空, 展開結果是 parameter 的值。

${parameter:+word}

若 parameter 沒有設置或為空,展開結果為空。若 parameter 不為空, 展開結果是 word 的值會替換掉 parameter 的值;然而,parameter 的值不會改變。

字符串展開

${#parameter}

展開成由 parameter 所包含的字符串的長度。



${parameter:offset}?和?${parameter:offset:length}

從 parameter 所包含的字符串中提取一部分字符。提取的字符始于 第 offset 個字符(從字符串開頭算起)直到字符串的末尾,除非指定提取的長度。



${parameter#pattern} 和?${parameter##pattern}

從 paramter 所包含的字符串中清除開頭一部分文本,#清除最短匹配結果,##清除最長匹配結果。(我現在也不知道這有什么用。。。)



${parameter%pattern} 和?${parameter%%pattern}

類似于上一條,只不過這里反過來,從末尾開始清除

${parameter/pattern/string} 和?${parameter//pattern/string} 和${parameter/#pattern/string}?和?${parameter/%pattern/string}

對 parameter 的內容執(zhí)行查找和替換操作。

上面的操作依次對應:

只將第一個出現的pattern替換成string;

將所有出現的pattern都替換成string;

將出現在開頭的pattern替換成string;

將出現在結尾的pattern替換成string(當/string 省略掉時,可能會導致刪除匹配的文本。)

bash支持字符串的大小寫轉換

第一種方法:使用declare

能強制一個變量總是包含所需的格式,無論如何賦值給它。

(這個例子好像macOS測不了,沒有-u 和-l的參數[1],但是bash文檔里有[2],不知道為什么,后面再看看)

第二種方法:使用對應的參數展開

(不知道為什么的macOS也不行系列。。。)

${parameter,,} ?----?把 parameter 的值全部展開成小寫字母。

${parameter,}??----??僅僅把 parameter 的第一個字符展開成小寫字母。

${parameter^^}??----??把 parameter 的值全部轉換成大寫字母。

${parameter^}??----?僅僅把 parameter 的第一個字符轉換成大寫字母(首字母大寫)。


進制表示

=END=

=reference=

[1]https://ss64.com/osx/declare.html

[2]https://www.gnu.org/software/bash/manual/bash.html#Bash-Builtins

TLCL學習筆記|第35章|字符串和數字|part1(參數展開)的評論 (共 條)

分享到微博請遵守國家法律
浦城县| 新沂市| 沁阳市| 方山县| 南靖县| 云南省| 韶山市| 个旧市| 迭部县| 兴海县| 新民市| 讷河市| 肇州县| 呼玛县| 高淳县| 宁远县| 枣阳市| 西华县| 聊城市| 政和县| 衡阳县| 荣昌县| 云浮市| 奉新县| 南汇区| 卢龙县| 曲水县| 光山县| 衡山县| 肇东市| 佛教| 镇原县| 周至县| 肇庆市| 禹城市| 鄂伦春自治旗| 黄浦区| 道真| 钟山县| 阿鲁科尔沁旗| 霍林郭勒市|