linux shell 字符串作变量名 间接变量引用
方法一
#!/bin/bash
name=yushuang
var=name
# 要获取到yushuang
res=`eval echo '$'"$var"`
echo $res
# 输出结果:
# yushuang
解释:
第一步: "$var" 结果是 name
第二步: echo '$'"$var" 结果是 $name
第三步: `eval $name` 结果是 yushuang
原理:
使用 shell 命令 eval 详细参考 :
《linux shell eval 命令 字符串作为命令执行》
https://blog.csdn.net/whatday/article/details/105459629
方法二
#!/bin/bash
name=yushuang
var=name
# 要获取到yushuangecho "${!var}"
# 输出结果:
# yushuang
解释:
感叹号可以引用间接变量的值
注意事项
当遇到星号后,间接引用会有问题
SSHCONFIGDIR="/root/.ssh"
SSHCONFIG="*"
dir=SSHCONFIGDIR
files=SSHCONFIGls ${!dir}/${!files}
#这样是没问题的,可以输出/root/.ssh/known_hostsfiles_temp=${!files}
#这一步,shell已经把星号解析成当前目录下所有的文件了,所以files_temp不再是"*",而是当前目录下所有文件的字符串了。
linux shell 字符串作变量名 间接变量引用相关推荐
- js中定义用字符串拼接起来的变量名的变量
转载:https://www.cnblogs.com/vlone/p/4602072.html js中定义用字符串拼接起来的变量名的变量 今天在写js的时候碰到了难题,我又一个页面需要生成很多的变量. ...
- linux shell 字符串操作(长度,查找,替换)详解 BASH
linux shell 字符串操作(长度,查找,替换)详解 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系 ...
- 在 Linux shell 字符串中,百分比符号是什么?
当你正在学习如何完全使用 Linux shell 时,你可以能会觉得自己能够对字符串进行操作. 记住,今天q&一个文章的超级用户对读者的一个奇怪问题有答案. 今天,回答会话的问题来自超级用户的 ...
- php如何拼接变量名,php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符...
php动态拼接变量名,可变变量,动态变量,使用花括号,使用两个$符 方式一:使用花括号,前缀部分不需要用单引号 $nums10 = 100; $xxx*${bcount.$nums10}['m54'] ...
- 变量名与变量地址的一些理解
今天看了各位大咖写的博文,受益良多,我对变量名与变量地址的区别又有了进一步的了解.要想彻底理解变量名与变量地址,能有一些<计算机组成原理>里与存储器相关的知识储备,和<数据结构> ...
- 为什么python中不需要变量名和变量类型声明?
python是解释型语言,python的变量不需要声明,但是需要初始化,python解释器会为每个出现的对象分配内存,哪怕他们的值完全相等(注意是相等不是相同),其中变量其实通过一个标记调用内存中的值 ...
- linux shell字符串及字符串长度获取方式
linux shell字符串及字符串长度获取方式
- Oracle入门(十三A1)之替换变量,变量名,变量名
转载自 Oracle中的替换变量,&变量名,&&变量名 替换变量(仅用于SQL *Plus或者用于原理和SQL *Plus相同的开发工具): 临时存储值 利用它可以达到创建通用 ...
- c语言变量名、变量和地址的关系
c语言变量名.变量和地址的关系 定义 变量:用来标识一块内存区域,即变量就是一块内存区域,而这个区域里面的值可以更改,故叫做'变'量 变量名:是一个标识符,用来指代一块内存区域,即变量,变量名并不占用 ...
最新文章
- Python Django HttpRequest请求对象常见属性和方法
- makefile:2: *** 遗漏分隔符 。 停止
- 如何更改Visual Studio 2008中类文件引用的默认名称空间?
- 微信开发学习日记(一):快速阅读5本书,掌握整体背景
- 4. 星际争霸之php设计模式--工厂方法模式
- php用json_encode编码后乱码,php json_encode()函数中文编码乱码解决方法_PHP教程
- (14)Verilog HDL参数:parameter
- Django学习之Cookie和Session
- python opencv3 —— findContours
- php 重写sessionid,PHP 重置 phpsessionid
- Python OpenCV显示图像并保存图像
- c10k java_c10k问题及其解决方案
- CalHypso——用于计算面积高程积分(HI)曲线的ArcGis扩展工具
- 元宇宙虚拟人迎来高峰期,哪个是你的最爱?
- 用python贴吧自动回帖_python基于selenium实现贴吧自动发帖
- 2019级软件工程应用与实践-人工智能快递柜(代码分析11)
- 2021-04-12——新特性Lambda表达式和Function函数式接口编程
- 欧姆龙气压传感器 2SMPB-02E程序编写
- freeCAD学习笔记三:复制草图中的对象
- 沈博研:企业家迷恋黄金投资的七大原因