我什至没有看到任何与该用例接近的东西,所以我不确定在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”。这不会减轻我的问题吗?我以为这样的事情会起作用,但是我不确定这一切的语法。通常,链接到源变量引用。
您可以通过简单的函数创建来实现,它可以间接地与上述情况一起工作。
######### Make this as a source file ####
group_1()
{
Var1=A
Var2=B
Var3=C
Var4=D
}
group_2()
{
Var1=F
Var2=G
Var3=H
Var4=I
}
###################
在文件中创建以上内容,然后创建另一个文件,您可以在其中调用特定变量,如下所示
if [[ target == "group_1" ]]
then
group_1
echo $Var1
else
group_2
echo $Var1
fi
希望这可以解决您的问题