shell中从一个文件到另一个文件的变量参考组

问题描述 投票:1回答:1

我什至没有看到任何与该用例接近的东西,所以我不确定在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”。这不会减轻我的问题吗?我以为这样的事情会起作用,但是我不确定这一切的语法。通常,链接到源变量引用。

shell variables parameter-passing
1个回答
0
投票

您可以通过简单的函数创建来实现,它可以间接地与上述情况一起工作。

######### 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

希望这可以解决您的问题

© www.soinside.com 2019 - 2024. All rights reserved.