【发布时间】:2014-08-06 13:34:54
【问题描述】:
我正在编写一个 shell 脚本 (#!/bin/sh),它有一个变量 VAR,其中包含另一个变量 FOO 的名称,而 FOO 又设置为 BAR。
FOO=BAR
VAR=FOO
我想获取在 VAR 中命名的变量的值,比如:
echo "${$VAR}"
但这似乎不起作用。有什么建议吗?
【问题讨论】:
-
如果 shell 是 Bash,建议的副本是有效的。如果 shell 不是 Bash,那么它就不是适当的副本,因为没有一个答案甚至没有提到替代机制——
eval。 -
我解决了这个问题:echo "${!VAR}"。谢谢。
-
在这种情况下,您必须使用 Bash 而不是 Korn Shell。准确使用您使用的外壳可以提高获得好答案的机会。