方案1:使用tr命令
- Linux中的
tr
命令可以用於轉換或刪除文本中的指定字符。tr
命令默認從標準輸入中讀取數據,經過字符串轉義之後,將結果輸出到標準輸出。
echo "TomAndersen" | tr a-z A-Z
echo "TomAndersen" | tr A-Z a-z
echo "Hello Hello" | tr Ho hO
echo "Hello Hello" | tr -d H
方案2:使用awk命令
awk
工具是一種強大的文本分析工具,主要功能是將每行文本按照特定分隔符分成多個字段進行處理,默認每行使用空格和製表符分割,使用自帶的tolower
函數能夠將指定的字段全部字符轉換成小寫,使用toupper
函數能夠將全部字符轉換成大寫。
echo "Tom Andersen" | awk '{print tolower($0)}'
echo "Tom Andersen" | awk '{print toupper($0)}'
方案3:利用Bash特性
- 在讀取變量時使用
^^
字符能夠將輸出字符轉換成全大寫,使用,,
字符能夠將輸出字符轉換成全小寫
var1 = 'TomAndersen'
echo ${var1^^}
var2 = 'TomAndersen'
echo ${var2,,}
方案4:使用typeset/declare命令
- 使用
typeset
或者declare
命令設置變量的屬性,兩個命令使用方式完全相同。使用此命令時需慎重,當使用typeset/declare
命令改變變量的屬性時,這種改變是長期有效的,且如果將變量設置爲只讀命令,那麼一般情況下將無法修改此變量的只讀屬性(可以通過gdb
工具重置變量),只讀變量生命週期一般與當前Shell線程相同
typeset -u a
a ="abc"
echo $a
typeset -l a
a = "ABC"
echo $a
End~