Shell脚本获得变量值作为新变量一部分的值

最近使用shell写一个发布脚本时,由于shell编程是边学便用的缘故,经验不足,中间遇到一个问题,一个变量的值作为一个新变量的一部分,而我要根据变量获得新变量的值,以前没有遇到过。网络搜索一番,最后使用eval,解决办法如下。

1 str=java
2 java_new="wo xiang yao de"
3 
4 tmp=${str}_new
5 dest=`eval echo '$'$tmp`
6 echo ${dest} #wo xiang yao de

str变量值java作为新变量java_new的一部分,现在根据str变量获取java_new的值。

echo $tmp值为输出java_new,而不是"wo xiang yao de",当时在这里卡了好久,一直觉得tmp值是"wo xiang yao de",郁闷。。。

dest的值为正确值,具体eval的使用还未研究,以后补上。

原文地址:https://www.cnblogs.com/penzz/p/3426063.html