Bash中变量变量的变化

时间:2014-10-06 21:48:51

标签: bash

我正在寻找一种方法来将字符串添加到bash中的变量名称并将其作为新变量进行评估。例如:

#!/bin/bash
file="filename"
declare ${file}_info="about a file"
declare ${file}_status="status of file"
declare ${file}_number="29083451"

echo ${${file}_info}  # <-- This fails with error: "bad substitution"

有办法做到这一点吗?

我实际上并未在任何生产代码中实施此。我只是想知道是否有某种方法可以使用变量和字符串创建变量名称。这似乎是一个有趣的问题。

另请注意,我询问bash间接,这是使用${!x}将变量的内容作为变量进行评估。

1 个答案:

答案 0 :(得分:0)

你不是在询问间接问题,但那可以帮助你:

info=$file\_info
echo ${!info}
相关问题