bash函数参数构造$ {1 ,,}

时间:2017-10-25 06:19:45

标签: bash function parameters parameter-passing

在我发现的脚本中,我看到了这种结构:

is_true() {
  local var=${1,,} 
  ...

据我所知,它是某种参数传递。 $ 1,$ 2,$#我明白但是$ {1 ,,}代表什么?

1 个答案:

答案 0 :(得分:5)

这个(${1,,})在bash版本4+中称为“参数扩展”。这里它用于更改存储在变量中的字符串的大小写,在本例中是脚本的第一个参数。

一些示例:小写转换。

x='HellO'
echo ${x}
HellO
echo ${x,,}
hello

$x转换为大写

echo ${x^^}
HELLO

反转案例:

x='Hey there'
echo ${x~~}
hEY THERE