原文地址:https://blog.csdn.net/10km/article/details/83384145html
關於字符串大小寫轉換,是寫 linux 腳本常常乾的事兒,因此總想找個方便的方法讓我少打點字兒,搜索國內的中文資源,網上也能找到不少關於這個帖子,介紹的方法都差很少,用typeset是最簡單的方法了,但我以爲仍是不夠簡單,由於須要多定義一個變量。linux
google上找到這個stackoverflow上的帖子,才知道Bash 4.0以上版本有更好的辦法:ubuntu
《How to convert a string to lower case in Bash?》centos
就是${parameter,,pattern}
,${parameter^^pattern}
表達式,表達不會改變原來變量的值bash
#! /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版本,都不會兼容性問題。google
關於${parameter,,pattern},${parameter^^pattern}表達式更全面的說明參見下面Bash的官方手冊:spa