原文地址:https://blog.csdn.net/10km/article/details/83384145
關於字符串大小寫轉換,是寫 linux 腳本經常干的事兒,所以總想找個方便的方法讓我少打點字兒,搜索國內的中文資源,網上也能找到很多關於這個帖子,介紹的方法都差不多,用typeset是最簡單的方法了,但我覺得還是不夠簡單,因為需要多定義一個變量。
google上找到這個stackoverflow上的帖子,才知道Bash 4.0以上版本有更好的辦法:
《How to convert a string to lower case in Bash?》
就是${parameter,,pattern}
,${parameter^^pattern}
表達式,表達不會改變原來變量的值
#! /bin/bash # 注意:腳本第一行一定要注明腳本解釋器是bash.不能是sh,或dash # 因為sh軟連接有可能指向的是dash var="Hello,Word" # 把變量中的第一個字符換成大寫 echo ${var^} # 把變量中的所有小寫字母,全部替換為大寫 echo ${var^^} # 把變量中的第一個字符換成小寫 echo ${var,} # 把變量中的所有大寫字母,全部替換為小寫 echo ${var,,}
Bash 4.0是2009年發布的版本,現在的應用已經很廣泛了,我現在用的ubuntu 16默認安裝的就是bash 4.3,centos 6.5下默認安裝的是4.1.所以只要不是太老的linux版本,都不會兼容性問題。
關於${parameter,,pattern},${parameter^^pattern}表達式更全面的說明參見下面Bash的官方手冊: