版權聲明:本文為部落客原創文章,轉載請注明源位址。 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的官方手冊:
《Bash Reference Manual》