循环遍历声明的变量名时更改bash中文本的大小写

我怎样才能实现这样的大小写文本:

string="this is a string"
for case in u l c
do
    declare -"${case}" out
    out=$string
    echo $out
done
#THIS IS A STRING
#this is a string
#This is a string

循环遍历已声明变量的名称:

declare -u UPPER
declare -l LOWER
declare -c CAPITALIZE
for i in UPPER LOWER CAPITALIZE
do
    i=$string
    echo $i
done
#this is a string
#this is a string
#this is a string

(注意全部小写)

回答

你可以这样使用它:

string="this is a string"
declare -u UPPER
declare -l LOWER
declare -c CAPITALIZE

for i in UPPER LOWER CAPITALIZE; do
    declare $i="$string" # assign value to each var
    echo "$i='${!i}'"    # print each var
done

输出:

UPPER='THIS IS A STRING'
LOWER='this is a string'
CAPITALIZE='This is a string'


以上是循环遍历声明的变量名时更改bash中文本的大小写的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>