纯shell中的动态变量赋值,不使用eval

时间:2014-10-06 12:10:42

标签: shell security eval dynamic-variables

有没有办法在不使用sh的情况下为纯shell(即bash而非eval)中的动态命名变量分配任意值?

我想知道是否有办法避免使用eval,因为它可以允许任意代码执行。

let似乎只适用于数值。

1 个答案:

答案 0 :(得分:1)

尝试declare:它允许您动态指定变量。

v="test"
declare my$v="hello"
echo "$mytest"

返回:

hello

您可以在man declare中找到更多信息 - 我找不到对shell手册的引用。