我有一个环境配置文件,我已经定义了环境变量.我使用source在shell脚本(bash)中获取这些变量.
我在我的shell脚本中使用checkout命令检查环境变量中定义的位置的文件.现在我需要使用多个位置来检查文件,这些文件可以是任何数字,用于不同的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
Run Code Online (Sandbox Code Playgroud)
如何使用变量i形成环境变量PATH1或PATH2等?
i=1
while [ $i -le ${NUM_OF_PATHS} ]
do
CPATH=$(eval echo \$\{PATH$i\})
echo "PATH$i: $CPATH"
let i++
done
Run Code Online (Sandbox Code Playgroud)
eval组合并评估其参数并执行组合表达式.这里,eval执行:echo ${PATH1}.为了做到这一点,我们首先逃避,${...}以便echo在eval之后可以接收它们.$以前唯一没有逃过的特殊角色i.eval扩展它并剥离转义的字符并使用结果执行echo.
因此,CPATH=$(eval echo \$\{PATH$i\})变为CPATH=$(echo ${PATH1})和CPATH获得回声输出.
| 归档时间: |
|
| 查看次数: |
15984 次 |
| 最近记录: |