我正在寻找一种方法来将字符串添加到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}
将变量的内容作为变量进行评估。
答案 0 :(得分:0)
你不是在询问间接问题,但那可以帮助你:
info=$file\_info
echo ${!info}