Bash 间接变量引用

2024-01-04

foo='abc'
bar='xyz'
var=bar

我如何访问'xyz'当我有var?

我试过了:

$(echo $var)

and

$(eval echo $var)

我刚刚得到bar: command not found


Use bash间接变量引用:

${!var}

当然可以用eval, 不建议:

eval 'echo $'"$var"

Why:

$ bar=xyz

$ var='bar;whoami'

$ eval 'echo $'"$var"
xyz
spamegg

命令whoami作为评估的一部分也正在接受评估eval,想象一个破坏性命令而不是whoami.


Example:

$ bar='xyz'

$ var=bar

$ echo "${!var}"
xyz

$ eval 'echo $'"$var"
xyz
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash 间接变量引用 的相关文章

随机推荐

  • 如何避免画布填充区域之间出现接缝?

    当我在 HTML5 Canvas 或 Quartz 或 GDI 等类似系统中填充相邻区域时 我在共享边缘上看到浅色接缝 这是一个例子 代码如下 我想我明白发生了什么 但没有解决办法 每条边缘都针对白色进行了抗锯齿处理 因此您得到的不是橙色和
  • 自定义视频采集原生webrtc

    据 webrtc 讨论组主题 google cricket VideoCapture 将很快被弃用 要自定义视频源 我们应该实现VideoTrackSourceInterface 我尝试实现接口但没有成功 当我有一个框架时 我实现了该接口
  • 滚动显示以及文本区域上的滚动

    我有一个文本区域元素 其内容动态显示在右侧 当我向下滚动文本区域时 我希望显示也相应于文本向下滚动 我的文本区域还包含一些MathJax https www mathjax org 元素 我找到https stackedit io edit
  • 检查包含 n 个元素的数组是否为最小堆的算法

    我试图概述一个算法来确定我的数组是否是最小堆 有没有任何文档可以帮助我解决这个问题 我在 Apache 的网站上找到了它的函数 但它没有确切地显示该函数是如何工作的 只是存在一个函数 BinaryHeap boolean isMinHeap
  • appengine 上“服务器遇到错误,无法完成您的请求”

    我是JAVA和JSP的初学者 我正在做关于 appengine 的学期项目 我已经部署了项目 没有编译或其他错误 但是当我打开我的应用程序链接时 它给出了一个错误 Error Server Error The server encounte
  • Jenkins 通过 SSH 发布无法更改到远程目录

    我正在使用 Jenkins 通过 SSH 发布插件将文件传输到远程服务器 当我配置 Publish over SSH 插件并指定远程目录时 测试配置总是失败并出现以下错误 jenkins plugins publish over BapPu
  • 将 Cython 包装的 C 函数与 NumPy 中的 BLAS 链接起来

    我想在 Cython 扩展内部使用 c 文件中定义的一些使用 BLAS 子例程的 C 函数 例如 cfile c double ddot int N double DX int INCX double DY int INCY double
  • 如何在R中使用for循环保存不同名称的文件?

    我在列表中保存了 168 个文件 我尝试使用 for 循环将它们保存到我的文件夹中 我需要按照下面提供的方式命名文件 但我的代码现在所做的是使用不同的名称保存 168 个文件 但它会保存同一文件 168 次 而不是循环遍历并使用单独的名称保
  • 如何在安装过程中记录用户输入,以便在卸载过程中使用?

    在安装过程中 我记录用户的输入 例如正在创建的 Windows 服务的名称 卸载此服务时 我需要知道用户最初输入的服务名称是什么 在卸载过程中获取服务名称的最佳方法是什么 最适合您的要求似乎是处理事件方法并从其内部调用SetPrevious
  • ASP.NET MVC - 使用 cURL 或类似方法在应用程序中执行请求

    我正在 ASP NET MVC 使用 C 中构建一个应用程序 我想知道如何执行像curl这样的调用http www mywebsite com clients list xml http www mywebsite com clients
  • Android:如何让用户为另一个被跟踪的用户创建地理围栏?

    如何实施地理围栏来跟踪其他用户 我正在开发一个跟踪家庭成员的应用程序 我想实现地理围栏功能 该功能将使用户能够执行以下操作 用户A将跟踪用户B用户 A 将确定地理围栏区域 当用户 B 进入该地理围栏时 用户 A 将收到通知 我每 10 分钟
  • 在 Octave 中将矩阵写入文本文件的最快方法是什么?

    我有一个大矩阵 2e6 x 3 我必须将其写入文本文件 dlmwrite大约需要230s才能完成此任务 根据您的经验 将大型矩阵写入文本文件的最快方法是什么 以下内容适用于 MATLAB 但我建议您在 Octave 中尝试 首先 如果可以的
  • 如何对 SQL Server 查询进行基准测试?

    我想知道对 SQL Server 查询进行基准测试的标准方法 最好是了解 SQL Server 附带的工具而不是第三方工具 set showplan text on will show you the execution plan to s
  • Android 中的 Pinterest 样式 listview 或 gridview [重复]

    这个问题在这里已经有答案了 我正在寻求实现 pinterest 风格的 gridview 参见图片 但很难想出一种方法 该视图需要有 3 列 如 pinterest 其中各个图像具有恒定的宽度但可变的高度 它应该是可滚动的 我还担心能够回收
  • 为什么“捆绑更新”要安装古代宝石?

    一切都工作得很好 直到捆绑更新突然决定 更新 到一些宝石的一些非常旧的版本 有任何想法吗 我很困惑 Gemfile 没有指定错误 gem 的版本 例如 gem rails I do bundle update 和 Using rails 0
  • Eclipse gcov 在代码中缺少突出显示

    我使用 生成 gcov 信息 构建我的 C 项目 在 Linux 工具存储库的 Gcov 分析器下运行它 并在 gcov 视图中获得很好的覆盖范围概述 但是 当我双击一个文件 例如 大约 92 的文件 时 弹出的编辑器视图会显示no覆盖范围
  • 如何在 Solr 中检索完整的嵌套文档?

    以我为例索尔4 10 3我想用嵌套结构索引 JSON 例子 id myDoc title myTitle nestedDoc name test name nestedAttribute attr1 attr1Val 我可以通过管理界面正确
  • illustrator自动映射到图像映射?或者,还有更好的方法?

    我有一个矢量插画文件 其中加利福尼亚州的所有县作为不同的路径 我需要将这些县链接到其他在线页面 有没有办法从这个文件自动生成 HTML 图像映射 illustrator 提供了导出为 jpg 的功能 该功能具有多边形图像贴图形状的选项 但它
  • 为什么 W3C RDF 验证器用自己的 RDF URI 替换 RDF URI?

    假设我们将以下 RDF 代码输入到 W3C RDF 验证器 http www w3 org RDF Validator http www w3 org RDF Validator
  • Bash 间接变量引用

    foo abc bar xyz var bar 我如何访问 xyz 当我有var 我试过了 echo var and eval echo var 我刚刚得到bar command not found Use bash间接变量引用 var 当