Bash 使用另一个变量的名称打印变量值
假设我有以下两个变量:Bash 使用另一个变量的名称打印变量值,bash,Bash,假设我有以下两个变量: color=black round_black_car=IGK47546 是否可以使用可变颜色打印IGK47546 echo${round{color}{car}不工作。它给我提供了错误的替换。您应该使用eval表达式结合反斜杠来执行替换 $ color=black $ round_black_car=IGK47546 $ eval echo \${round_${color}_car} IGK47546 这不是一种安全的做法,因为它将数据解析为代码—这是注入攻击、权
color=black
round_black_car=IGK47546
是否可以使用可变颜色打印IGK47546
echo${round{color}{car}不工作。它给我提供了错误的替换。您应该使用eval表达式结合反斜杠来执行替换
$ color=black
$ round_black_car=IGK47546
$ eval echo \${round_${color}_car}
IGK47546
这不是一种安全的做法,因为它将数据解析为代码—这是注入攻击、权限提升攻击(当用户可以提供使用不同权限运行的脚本所使用的数据时)和其他类型安全漏洞中的关键组件。考虑颜色='} $rm -rf$${'作为一个说明性的例子。参见一个最佳实践方法。EVE绝对不是最佳实践方法;进入最好避免的原因。