Bash 4 具有参数扩展操作,允许使用 ${v^}
、${v^^}
将存储在变量中的字符串转换为大写/小写, ${v,,}
或 ${v,,}
。在 Bash 5 中,添加了新的 @
符号以提供各种扩展操作,其中一些还包括大小写转换:${v^}
== ${v@ u}
,${v^^}
== ${v@U}
,${v,,}
= = ${v@L}
(似乎没有与 ${v,}
匹配的运算符)。
${v^^}
和 ${v@U}
之间有什么区别,为了什么目的添加了做同样事情的新运算符?
最佳答案
像 ${x^^}
这样的扩展采用一个可选的模式(应该一次匹配一个字符;如果省略它默认为 ?
)来控制哪个字符是大写的,而 ${x@U}
大写 所有 字符。如果您在第一种形式中省略模式,它们是等价的,但如果您指定一个,它们就不一样了。例如,${x^^[aeiou]}
将仅显示大写元音。
关于bash - ${v^^} 和 ${v@U} 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68708214/