gpt4 book ai didi

shell - 如何在Shell脚本中使用环境变量名称中的变量?

转载 作者:行者123 更新时间:2023-12-01 01:16:39 24 4
gpt4 key购买 nike

我有一个环境配置文件,我在其中定义了环境变量。我使用 source 在我的 shell 脚本(bash)中获取这些变量。

我在我的 shell 脚本中使用了一个 checkout 命令,它从环境变量中定义的位置 check out 文件。现在我需要使用多个位置来 check out 文件,这些文件可以是不同运行的 shell 脚本的任意数量。

例如。用户在配置文件中提供了两个路径,PATH1 和 PATH2,NUM_OF_PATHS 为 2。

在我的 shell 脚本中,我想执行以下操作来使用路径。

i=0
echo ${NUM_OF_PATHS}
while [ $i -lt ${NUM_OF_PATHS} ]
do
checkout $PATH{$i}
i=`expr $i + 1`
done

如何使用变量 i 形成环境变量 PATH1 或 PATH2 等?

最佳答案

i=1
while [ $i -le ${NUM_OF_PATHS} ]
do
CPATH=$(eval echo \$\{PATH$i\})
echo "PATH$i: $CPATH"
let i++
done
eval组合并评估其参数并执行组合表达式。在这里,eval 执行: echo ${PATH1} .为了做到这一点,我们首先转义 ${...}以便 echo 可以在评估后接收它们。唯一未转义的特殊字符是 $之前 i . eval 扩展它并去除转义字符并使用结果执行 echo。

所以, CPATH=$(eval echo \$\{PATH$i\})变成 CPATH=$(echo ${PATH1})和 CPATH 获取 echo 输出。

关于shell - 如何在Shell脚本中使用环境变量名称中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11681219/

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