Tocyukiのブログ

ギターと柔術とプログラミングが好き!

Bashの変数で大文字、小文字の変換をsedを使わないでやる方法

mattnさんの以下ツイートが流れてきてめちゃ便利じゃんと感動したのでメモ

まとめ

最初の文字だけ大文字にする

$ os=linux; echo ${os^}
Linux

全部大文字にする

$ os=linux; echo ${os^^}
LINUX

最初の文字だけ小文字にする

$ os=LinuX; echo ${os,}
linuX

最初と最後の文字だけ小文字にする

$ os=LinuX; echo ${os,,}
linux

大文字小文字を入れ替える

$ os=LiNuX; echo ${os~~}
lInUx

指定文字置換

$ os=Linux; echo ${os//inu/umi}
Lumix

おわりに

これらの記法はbash v4以降で使えるものなので、MacとかのBashだと動きません\(^o^)/
Bash Tipsすきだわ〜\(^o^)/