Published on

shell 拼接字符串作为变量

Authors

例:

#/usr/bin/env sh

PRJNAME1=dtjhnt
PRJNAME2=gzm
PRJNAME3=sjk
PRJNAME4=pbgl
PRJNAME5=zaxj

for i in {1..5}
do
        eval echo \$PRJNAME${i}
done

输出:

dtjhnt
gzm
sjk
pbgl
zaxj

命令前面加了 eval 会 做两次解码。 第一次将$解出来,得到 PRJNAME1, 第二次再将 \$PRJNAME1 解码得到dtjhnt

  • 结论 在普通的shell操作开头加入eval,就可以将字符串作为变量使用