需求:将数据库中的所有表名转换成大写
方法一:typeset
for i in `mysql -uusername -p'password' -h 192.168.0.145 test -e "show tables" | sed '1d'` ;do typeset -u i && echo $i ;done命令实例:test="dafoJg"typeset -u testecho $test
问题:
使用typeset命令第一次转换的时候,还是原字符串
方法二:tr
###推荐用 tr 替换的方法##upper表示大写,lower表示小写for i in `mysql -uusername -p'password' -h 192.168.0.145 test -e "show tables" | sed '1d'` ;do echo "$i" | tr "[:lower:]" "[:upper:]" ;done或者for i in `mysql -uusername -p'password' -h 192.168.0.145 test -e "show tables" | sed '1d'` ;do echo "$i" | tr [a-z] [A-Z] ;done命令实例:echo "AedBcC" | tr "[:lower:]" "[:upper:]" 或者 echo "AedBcC" | tr [a-z] [A-Z] #小写转换成大写echo "AABBCC" | tr "[:upper:]" "[:lower:]" 或者 echo "AABBCC" | tr [A-Z] [a-z] #大写转换成小写