shell eval变量的值再次用来作为变量名解析其值

1.  name=yawu

2629 $ echo $name

yawu

2. 2630 $ yawu=vmd

2631 $ echo $name

yawu

2633 $ eval echo \$$name

vmd

3. 2657 $ eval echo "$""$name"

vmd

或者 eval echo '${'"$name"'}'  --》 vmd

4. 注意下面的错误:

2644 $ eval "$""echo $name"

bash: yawu: command not found

2636 $ eval $(echo $name)

bash: yawu: command not found

2649 $ eval '${'"$name"'}'   --》 这一点在把字符串作为命令执行挺好的!

bash: vmd: command not found

5. 上述形式均为bash shell直接运行,如若写在文件或alias中,需要注意形式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • bash:Bourne Again shell,是 Linux 上的标配 shell;对于想学习 shell 的人...
    michael_jia阅读 5,268评论 0 4
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 13,447评论 3 53
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,131评论 0 10
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,947评论 0 5
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 5,457评论 0 0