【问题标题】:Converting lowercase to uppercase in shell script在shell脚本中将小写转换为大写
【发布时间】:2020-04-01 06:45:05
【问题描述】:

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

脚本以 .tn 扩展名编写

set y a12
y_up=$( tr '[A-Z]' '[a-z]' <<< $y)
echo $y
echo $y_up

但我得到了错误

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

如何转换?

【问题讨论】:

  • set 不像你想的那样......

标签: shell


【解决方案1】:

下面的作品,试试这个。

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:]')

【讨论】:

  • 其实我是在 .tn 脚本中写这些的,仍然显示错误:lower: command not found
【解决方案2】:

BASH 4+ 版本具有将 sting 转换为大写的本地方式:

upperStr="${str^^}"

【讨论】:

    【解决方案3】:

    这应该可行:

    $ y="Foo Bar Baz"
    $ y_up=$(tr '[A-Z]' '[a-z]' <<< $y)
    $ echo $y_up
    foo bar baz
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-21
      • 2011-07-21
      • 2018-08-17
      • 1970-01-01
      • 2022-01-24
      • 2011-10-29
      相关资源
      最近更新 更多