在UNIX Shell Scritpting中," eval XYZ =' $' $ {1 ,,}"做?

时间:2016-10-19 08:51:30

标签: shell unix

在UNIX Shell Scritpting中,这有什么作用?

eval XYZ='$'${1,,}

我查找了UNIX的参数替换页面,它有很多用于设置默认值,模式等的选项。但是我找不到任何相关的东西。

1 个答案:

答案 0 :(得分:4)

假设我们将Shell作为$ 1传递给脚本:

./script.sh Shell

然后会发生以下情况

${1,,}

$1中的所有字符更改为小写。

所以我们现在有了字符串

shell
'$'

是文字美元

所以我们现在有了字符串

$shell
XYZ=

是一个赋值,但在这种情况下它只是一个字符串,在它被评估之前

所以我们现在有了字符串

XYZ=$shell
eval 

评估以下表达式。

所以eval执行上面的字符串

XYZ=$shell

整个命令将XYZ设置为等于名称为小写$1

的变量的值