Shell eval通过变量获取环境变量的方法实现

 更新时间:2020年12月09日 13:59:16   作者:IceberGu  
这篇文章主要介绍了Shell eval通过变量获取环境变量的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

场景

  • 系统中存在环境变量 USER=iceber
  • 脚本中存在一个变量 env_name=USER
  • 需要通过变量 env_name 获取到环境变量 USER 的值

错误示例

$ # 环境中已存在环境变量 USER
$ env_name=USER
$ echo ${$env_name}
${$env_name}: bad substitution

很显然,直接使用 $ 嵌套来获取值是行不通的

正确示例

$ # 环境中已存在环境变量 USER
$ env_name=USER
$ eval echo '$'$env_name
icebergu

eval 先将对参数进行变量的替换,然后再将参数作为命令执行

eval echo '$'$env_naem
  • 首先会将 $env_name 替换成 USER,这时会和前边的'$'组成字符串$USER,现在的命令实际已经变成了eval echo $USER
  • 然后 eval 再执行 echo $USER,这样就完成了环境变量的获取

根据上边的解析会发现,命令其实可以写成 eval echo \$$env_name 也是可以的

同理,如果一个变量存的的其他变量的名字,使用 eval 也可以获取到相应变量的值

到此这篇关于Shell eval通过变量获取环境变量的方法实现的文章就介绍到这了,更多相关Shell eval获取环境变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • shell脚本实战-while循环语句

    shell脚本实战-while循环语句

    这篇文章主要介绍了shell脚本实战-while循环语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Linux Shell循环中实现展示进度百分比的实现方法

    Linux Shell循环中实现展示进度百分比的实现方法

    这篇文章主要介绍了Linux Shell循环中实现展示进度百分比的实现方法的相关资料,这里提供实现方法及实例,需要的朋友可以参考下
    2017-08-08
  • linux 命令中的lynx解析

    linux 命令中的lynx解析

    lynx命令是纯文本模式的网页浏览器,不支持图形、音频、视频等多媒体信息,这篇文章主要介绍了linux 命令中的lynx解析,需要的朋友可以参考下
    2024-07-07
  • Shell内置命令教程之alias和echo

    Shell内置命令教程之alias和echo

    我们日常使用shell输入命令得到结果的方式是交互式的方式,而shell脚本使用的是非交互式方式,shell提供了alias功能来简化我们的日常操作,下面这篇文章主要给大家介绍了关于Shell内置命令教程之alias和echo的相关资料,需要的朋友可以参考下
    2022-03-03
  • linux shell中 if else以及大于、小于、等于逻辑表达式介绍

    linux shell中 if else以及大于、小于、等于逻辑表达式介绍

    在linux shell编程中,大多数情况下,可以使用测试命令来对条件进行测试,这里简单的介绍下,方便需要的朋友
    2013-02-02
  • Linux文件系统介绍

    Linux文件系统介绍

    这篇文章介绍了Linux中的文件系统,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 很实用的Linux 系统运维常用命令及常识(超实用)

    很实用的Linux 系统运维常用命令及常识(超实用)

    作为Linux运维,需要了解Linux操作系统的基本使用和管理知识,下面脚本之家小编给大家介绍下Linux运维需要掌握的命令,想成为Linux运维的朋友可以来学习一下
    2016-10-10
  • Linux oracle数据库自动备份自动压缩脚本代码

    Linux oracle数据库自动备份自动压缩脚本代码

    这篇文章主要介绍了Linux oracle数据库备份完成后可以自动压缩脚本代码,大家参考使用
    2013-12-12
  • Linux命令学习之用户切换su,sudo命令详解

    Linux命令学习之用户切换su,sudo命令详解

    在操作过程中需要使用特定的用户进行特定的操作,多数情况下是因为权限,比如要修改一个文件,只有root用户有权限修改,那么就要切换到root用户下进行操作,本文给大家讲解Linux命令学习之用户切换su,sudo命令,感兴趣的朋友跟随小编一起看看吧
    2023-02-02
  • shell脚本编写俄罗斯方块

    shell脚本编写俄罗斯方块

    这篇文章主要为大家详细介绍了shell脚本编写俄罗斯方块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06

最新评论