最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

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(參數展開)的評論 (共 條)

分享到微博請遵守國家法律
紫阳县| 海原县| 长兴县| 呈贡县| 顺平县| 康平县| 繁昌县| 南部县| 富顺县| 个旧市| 安国市| 时尚| 景宁| 天峻县| 于田县| 清水县| 新平| 永昌县| 元谋县| 白沙| 独山县| 增城市| 扶余县| 融水| 喜德县| 聊城市| 正宁县| 扶绥县| 永年县| 什邡市| 连城县| 新兴县| 吉木乃县| 三台县| 嵊泗县| 岳阳市| 会泽县| 桑植县| 荃湾区| 蕉岭县| 青川县|