【Linux专栏】多层变量的重定向赋值

Oracle相关文档,希望互相学习,共同进步

风123456789~-CSDN博客


1.背景

今天需求:需要将多层变量进行重定向赋值,本文简要记录实现过程。

2. 实验

2.1 变量定义 及2层变量 重定向后取值

代码:

bash 复制代码
name=aa
aa=bb

或者

name=aa && aa=bb

要想拿到name的值 所对应的变量,尝试了以下嵌套 ,不可以

(其中:$$ 会返回后台任务的进程ID )

截图:

解决方案:以下两种实现,eval 方式 和 !方式。

实现1:采用 ${!} 中!方式重定向变量,实现取值 ok

命令:

bash 复制代码
echo ${!name}

截图:

实现2:采用 ${!} 中!方式重定向变量,实现取值 ok

命令:

bash 复制代码
eval echo \${\${name}}

截图:

2.2 多个变量定义 及 多层重定向后取值

代码:

bash 复制代码
name=aa && aa=bb && bb=cc

eval echo \${${!name}}

eval方式:会对cmdline进行两遍扫描,第一遍扫描后,如果cmdline是一条普通命令,则执行该命令;如果cmdline中含有变量的间接引用,则保证间接引用的语义。反引号"本身对\进行了转义,并保留了其本身的意思,如果要在反引号中 起到\的意思,必须加两个\。

但是多层不适用了,只能嵌套。

截图:

2.3 多个变量定义 及重定向后取值 循环

代码:

bash 复制代码
var=$name
while [ -n "${!var}" ]; do
  var=${!var}
done

echo $var

截图:

3.总结

多层重定向赋值:可以采用eval方式 或者采用循环赋值的方式实现。

eval方式:会对cmdline进行两遍扫描,第一遍扫描后,如果cmdline是一条普通命令,则执行该命令;如果cmdline中含有变量的间接引用,则保证间接引用的语义。反引号"本身对\进行了转义,并保留了其本身的意思,如果要在反引号中 起到\的意思,必须加两个\。

实验验证:ok


项目管理--相关知识

项目管理-项目绩效域1/2-CSDN博客

项目管理-项目绩效域1/2_八大绩效域和十大管理有什么联系-CSDN博客

项目管理-项目绩效域2/2_绩效域 团不策划-CSDN博客

高项-案例分析万能答案(作业分享)-CSDN博客

项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客

项目管理-配置管理与变更-CSDN博客

项目管理-项目管理科学基础-CSDN博客

项目管理-高级项目管理-CSDN博客

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客


Oracle其他文档,希望互相学习,共同进步

Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客

oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客

ORA-12899报错,遇到数据表某字段长度奇怪现象:"Oracle字符型,长度50"但length查却没有50_varchar(50) oracle 超出截断-CSDN博客

EXP-00091: Exporting questionable statistics.解决方案-CSDN博客

Oracle 更换监听端口-CSDN博客

相关推荐
牛马工作号1 小时前
Mosquitto + ACME:从 Docker Compose 部署到 TLS 证书自动续期与加载
运维·docker·容器
强哥聊算力4 小时前
《算力江湖·英伟达传奇》第七集:ChatGPT出现前夜,英伟达发生了什么?
服务器·人工智能·算法·ai·chatgpt·gpu算力
Initialize-le4 小时前
Nginx 504 超时、499 一堆?网关排查法
运维·nginx
砚凝霜6 小时前
【软考信息安全】第二十二章 Web服务器安全分析与增强——Apache与IIS
服务器·前端·安全
Android系统攻城狮6 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_delay调用流程与实战(七十二)
linux·运维·服务器·gstreamer音视频·音视频进阶
快乐的韭菜根根7 小时前
ubuntu 安装slurm并配置
linux·运维·ubuntu
数字新视界7 小时前
机房动环监控提升运维效率
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
U-Mail邮件系统8 小时前
自建邮箱服务器有哪些软件?三款主流邮件服务器软件推荐
运维·服务器
倒头就睡的小比特9 小时前
Linux基础指令3
linux·服务器
Smoothcloud润云9 小时前
PyTorch推理服务模型热切换与失败回滚实战:降低版本更新中断
服务器·人工智能·pytorch·python·深度学习·gpu