在UNIX Shell Scritpting中,这有什么作用?
eval XYZ='$'${1,,}
我查找了UNIX的参数替换页面,它有很多用于设置默认值,模式等的选项。但是我找不到任何相关的东西。
答案 0 :(得分:4)
假设我们将Shell
作为$ 1传递给脚本:
./script.sh Shell
然后会发生以下情况
${1,,}
将$1
中的所有字符更改为小写。
所以我们现在有了字符串
shell
'$'
是文字美元
所以我们现在有了字符串
$shell
XYZ=
是一个赋值,但在这种情况下它只是一个字符串,在它被评估之前
所以我们现在有了字符串
XYZ=$shell
eval
评估以下表达式。
所以eval执行上面的字符串
XYZ=$shell
整个命令将XYZ
设置为等于名称为小写$1