gpt4 book ai didi

linux - 在 Bash 脚本中,如何将变量添加到变量名中?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:48:01 24 4
gpt4 key购买 nike

所以以下面的脚本为例:

PROFILE1=profileName
SERVER1=serverName
PROFILE2=profile2Name
SERVER2=server2Name

VAR_$PROFILE1_$SERVER1=/home/$PROFILE1/$SERVER1/data
VAR_$PROFILE1_$SERVER2=/home/$PROFILE1/$SERVER2/data
VAR_$PROFILE2_$SERVER1=/home/$PROFILE2/$SERVER1/data

echo "$VAR_$PROFILE1_$SERVER1"

这就是我要完成的工作的基础。这可能不是解决问题的最佳方法,但对于 bash 脚本的新手来说,这是我对如何执行此操作的第一个想法。

我需要能够仅更改我的脚本文件中的一个位置,并且能够根据我所在系统的需要添加新的“VAR_...”。

这可能吗?如果不是,那么如果您了解我要完成的工作,您能提出替代方案吗?

最佳答案

如果您有 bash 版本 4,请使用关联数组:

declare -A data
data=(
[$PROFILE1,$SERVER1]=/home/$PROFILE1/$SERVER1/data
[$PROFILE1,$SERVER2]=/home/$PROFILE1/$SERVER2/data
[$PROFILE2,$SERVER1]=/home/$PROFILE2/$SERVER1/data
)
for key in "${!data[@]}"; do
printf "%s\t%s\n" "$key" "${data[$key]}"
done
echo "${data[$PROFILE1,$SERVER2]}"
profileName,server2Name /home/profileName/server2Name/data
profileName,serverName /home/profileName/serverName/data
profile2Name,serverName /home/profile2Name/serverName/data
/home/profileName/server2Name/data

关于linux - 在 Bash 脚本中,如何将变量添加到变量名中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22510365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com