如何在Bash中将字符串从大写转换为小写?

这个问题在这里已经有了答案:

  • 如何在Bash中将字符串转换为小写? 18个答案

  • 如果您使用bash 4,则可以使用以下方法:

    x="HELLO"
    echo $x  # HELLO
    
    y=${x,,}
    echo $y  # hello
    
    z=${y^^}
    echo $z  # HELLO
    

    只使用一个,^使第一个字母为lowercaseuppercase


    实现你的代码的正确方法是

    y="HELLO"
    val=$(echo "$y" | tr '[:upper:]' '[:lower:]')
    string="$val world"
    

    这使用$(...)表示法来捕获变量中命令的输出。 还要注意string变量周围的引号 - 你需要它们来表示$valworld是分配给string的单个东西。

    如果你有bash 4.0或更高版本,更高效和优雅的方法是使用bash内建的字符串操作:

    y="HELLO"
    string="${y,,} world"
    

    为什么不执行反引号?

     x=`echo "$y" | tr '[:upper:]' '[:lower:]'` 
    

    这将反引号的结果赋给变量x 。 (也就是说,它不是特别需要tr但是shell脚本的常见模式/解决方案)

    您可以使用$(..)而不是反引号。 请参阅此处了解更多信息。

    链接地址: http://www.djcxy.com/p/57127.html

    上一篇: How to convert a string from uppercase to lowercase in Bash?

    下一篇: How do I check if a given string is a legal/valid file name under Windows?