shell脚本中小写字母转换为大写字母

use*_*726 4 shell

我尝试使用以下代码将小写字符串转换为大写并将其分配给变量

该脚本以 .tn 扩展名编写

set y a12
y_up=$( tr '[A-Z]' '[a-z]' <<< $y)
echo $y
echo $y_up
Run Code Online (Sandbox Code Playgroud)

但我收到错误

invalid command name "A-Z"
while executing
"A-Z"
invoked from within
"y_up=$( tr '[A-Z]' '[a-z]' <<< $y) "
Run Code Online (Sandbox Code Playgroud)

我该如何转换这个?

Fid*_*del 9

下面的作品,试试这个。

bash-3.2$echo lower to upper | tr '[:lower:]' '[:upper:]'
LOWER TO UPPER  

# To Save in the variable use below
var=$(echo lower to upper | tr '[:lower:]' '[:upper:]')
Run Code Online (Sandbox Code Playgroud)


anu*_*ava 7

BASH 4+ 版本有将字符串转换为大写的本机方法:

upperStr="${str^^}"
Run Code Online (Sandbox Code Playgroud)