【发布时间】:2014-02-22 19:59:33
【问题描述】:
我没有看到任何接近这个用例的东西,所以我不确定这在 shell 脚本中会是什么样子。本质上,我有一堆模板 shell 脚本,其中文件的唯一区别是一组 4 个变量。我想为这些变量创建另一个文件,如下所示:
# Group 1
Var 1 = A
Var 2 = B
Var 3 = C
Var 4 = D
# Group 2
Var 1 = F
Var 2 = G
Var 3 = H
Var 4 = I
等等。然后我想使用一个 shell 脚本作为模板并传入一个参数。如./script.sh group2。脚本将使用此参数,转到输入文件并确定要用于脚本其余部分的变量组。这可能吗?正确的语法是什么?
更新:
我的一个想法是这样的:
SITE="$1"
VIP="Source ../conf/${$1.VIP}"
DMN1="Source ../conf/${$1.VAR1}"
DMN2="Source ../conf/${$1.VAR2}"
DMN3="Source ../conf/${$1.VAR3}"
这个想法是,当我运行脚本时,我运行 ./script.sh ABC 由此,脚本将使用 ABC 作为站点,然后从配置文件中,将标记为 ABC.VIP 的变量引用到 ABC.DMN3。在配置文件中,它将读取 ABC.VIP="abcvip"。这不会缓解我的问题吗?我假设这样的事情会起作用,但我不确定这一切的语法。主要是链接到源变量引用。
【问题讨论】:
-
如果您已经定义了不同文件中所需的变量组,那么您的脚本可以像普通配置文件一样获取文件。比如在你的 script.sh 中添加“source group_1”
-
这样做,我不会真正增加任何真正的好处。我希望能够拥有一个变量配置文件和除参数之外的通用脚本,以从配置文件中选择要使用的组。
标签: shell variables parameter-passing