首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在shell脚本中,如果某个变量的名称被另一个变量部分替换,如何获取该变量的值?

在shell脚本中,如果某个变量的名称被另一个变量部分替换,可以使用间接引用来获取该变量的值。间接引用可以通过使用!符号来实现。

具体操作如下:

  1. 定义一个变量,用于存储要获取值的变量名称,例如var_name="要获取值的变量名称"
  2. 使用${!var_name}来获取该变量的值,例如echo ${!var_name}

这样,${!var_name}会被替换为$要获取值的变量名称,从而获取到该变量的值。

举例说明: 假设有两个变量fruit=applename=fruit,我们想要获取fruit变量的值。可以按照以下步骤进行操作:

  1. 定义一个变量var_name="name"
  2. 使用${!var_name}来获取fruit变量的值,例如echo ${!var_name}

输出结果为apple,即成功获取到了fruit变量的值。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)

  • 链接地址:https://cloud.tencent.com/product/cvm
  • 优势:提供高性能、可扩展的云服务器实例,支持多种操作系统和应用场景,具备稳定可靠的计算能力。
  • 应用场景:适用于网站托管、应用程序部署、大数据分析、游戏服务等各种云计算场景。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Makefile教程

其包括了三个部分,一个是一个Makefile引用另一个Makefile,就像C语言中include一样;另一个是指根据某些情况指定Makefile有效部分,就像C语言中预编译#if一样;还有就是定义一个多行命令...= 表示如果没有赋值则赋予等号后面的; += 表示追加等号后面的。 其中=和:=区别见如下代码: (1)“=”。 make会将整个Makefile展开后,再决定变量。...(2)使用变量替换引用 这里用到Makefile里替换引用规则,即用指定变量替换另一个变量。...但是如果shell脚本嵌入Makefileshell脚本引用shell变量,则需要$$来引用,即$${variableName}或者$$variableName。...7.10如何使用shell脚本给Makefile变量赋值 Makefile可以内嵌shell脚本,但是在内嵌shell脚本只能读取Makefile变量如何给Makefile变量赋值呢?

3.9K53

Autoconf 详解

按照这种方式替换到输出文件变量被称为输出变量configure,它们是普通shell变量。...它们为未来运行configure 储存测试结果(参见缓存结果)。 在这些宏,有的宏设置输出变量。关于如何获取它们,请参见Makefile替换。...记录测试结果一种方式是设置输出变量变量shell变量,它将被替换到configure输出文件。...如果是运行 shell命令以确定将在 configure创建它输出文件之前储存到缓存文件。关于如何选择 cache-id变量名称,参见 缓存变量名。...shell命令action-if-given可以通过shell变量withval得到选项参数,变量实际上就是把 shell变量with_package所有`-‘字符替换为`_’而得

3.5K50

shell变量详解

,下次存数据直接覆盖 图片 CHAR1(0x3)=A 从图片可以看出,当我们脚本定义变量时候,可以从以下方面看到变化: a、内存占用:如果是一个字符则占用1个字节,如果是字符串则是字符串长度加...b、变量名与内存空间关系:计算机中会将对应内存空间地址和变量名称绑定在一起,此时代表这段内存空间已经 程序占用,其他程序不可复用;然后将变量名对应存在对应内存地址空间里。...二、变量定义 2.1、什么时候需要定义变量如果某个内容需要多次使用,并且代码重复出现,那么可以用变量代表内容。这样修改内容时候,仅仅需要修改变量。...从这种意义上来说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生shell定义变量shell内有效。...如果在一个shell脚本程序定义了一个变量,当脚本程序运行时, 这个定义变量只是脚本程序内一个局部变量,其他shell不能引用它,要使某个变量可以在其他shell 改变,可以使用export

52520

简单&基础shell操作_转发分享

关于注释问题: shell中使用#进行注释,注意,sh里面没有多行注释,只能每一行加一个#号; 第一个shell脚本程序: #!/bin/bash # 上面 #!...用法: unset variable_name 变量类型 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量脚本或命令定义,仅在当前shell实例中有效,其他shell启动程序不能访问局部变量...shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell正常运行 特殊变量: image $* 和 $@ 区别为: $* 和 $@ 都表示传递给函数或脚本所有参数...Shell替换 转义符: echo可以用于转义符有: image 使用 echo 命令 –E 选项禁止转义,默认也是不转义; 使用 –n 选项可以禁止插入换行符; 使用 echo...如果无一匹配模式,使用星号 * 捕获,再执行后面的命令。

1K10

shell编程知识点集锦

如果内容中有命令、变量等,会先把变量、命令解析出结果,然后输出最终内容来。双引号”“是部分引用,双引号括起内容常量还是常量,变量则会发生替换替换变量内容。...(3)全局变量脚本定义,仅在当前shell脚本中有效,其他shell脚本进程不能访本,其作用域从定义位置开始,到脚本结束或显示删除地方为止。...注意,全局变量既可以shell函数内定义,也可以shell函数外定义,因为shell函数内定义变量默认为global,且作用域从“函数调用时执行变量定义地方”开始,到脚本结束或显示删除地方为止...但是用${ }会比较精确界定变量名称范围,比方说: A=B echo $AB 原本是打算先将$A结果替换出来,然后再补一个B字母于其后,但在命令行上,真正结果却是只会替换变量名称为AB出来。...shell函数使用形式上与shell命令很相似! (3)shell函数如何获取函数返回 使用$? 获取。 (4)shell函数使用时需要前置申明吗?

1.5K10

shell脚本编程之路1

,所以括号变量不能够脚本余下部分使用。...与小括号命令不同,大括号内命令不会新开一个子shell运行,即脚本余下部分仍可使用括号内变量。...直接输入文件名就能执行自定义脚本 ①将该脚本文件复制到PATH任意路径; ②PATH添加脚本文件路径; echo $PATH #系统搜索命令路径,路径之间用:分割。...,’ , shell将逗号解释为一个定界符,因此变量$i每次迭代读取由逗号分隔字符串作为变量值 ---- (5)位置参数变量 主要是向脚本文件传递脚本运算需要,更适合给程序编写者使用,我们写可变参数脚本尤其有用...描述:变量发挥着及其重要角色特别是Shell编程时候; 符号 作用 $?

2.7K20

shell programming tutorial

因此使用管道获取参数,我们一定要增加对于参数判断,或者,我们sh和bash解释器, 增加set –o pipefail 设置,可以让管道执行结果是否成功,变得可信。...(如空格,tab等),我们也可以使用IFS(内部字段分隔符)指定字符作为分隔符; 需要注意是多个空白当做一个空白处理,当某一行某个字段不存在,这样会导致读到数据对应不到正确变量 用 perl...n 是一个从 0 到 255 整数,0 表示成功退出,非零表示遇到某种失败而非正常退出。整数保存在状态变量 $? 。...这两个命令都以一个脚本为参数,脚本将作为当前shell环境执行,即不会启动一个新子进程。所有脚本设置变量将成为当前Shell一部 分。同样,当前脚本设置变量也将作为脚本环境。...sh -x xx.sh 是一个脚本,调用另一个脚本执行,启动一个新子进程,-x 会输出所有的执行信息。 脚本调用脚本,要对调用脚本执行返回进行判断。

1.4K90

Shell特殊字符

双引号”“包含时,与 $* 稍有不同,下面将会讲到 5 $? 上个命令退出状态,或函数返回。 6 $$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在进程ID。...序号 符号 作用 示例 14 $ 美元符,放在变量前用于取变量,比如$PATH 15 ${} 美元符加上大括号,大括号中放变量名称,也是用于读取变量 echo ${PATH}path,访问变量...如果变量 var 为空或已被删除(unset),那么将消息 message 送到标准错误输出,可以用来检测变量 var 是否可以正常赋值。若此替换出现在Shell脚本,那么脚本将停止运行。...${var//pattern/pattern}表示将var字符串所有能匹配pattern替换另一个pattern。不改变原变量。...括号命令将会新开一个子shell顺序执行,所以括号变量不能够脚本余下部分使用。括号多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格。(2)用于初始化数组。

5.1K10

Linux基础——正则表达式

如果没有 g标记,则只有每行第一个匹配test 替换成mytest。...awk 模式和动作 一个 awk 脚本可能有许多语句。 模式部分决定动作语句何时触发及触发事件。处理即对数据进行操作。如果省略模式部分,动作将时刻保持执行状态。...如果想快速查看所有文件长度及其总和,但要排除子目录,如何实现: ? 六、函数及脚本综合应用 1、shell 函数:shell 允许将一组命令集或语句形成一个可用块,这些块称为 shell函数。...函数由两部分组成:函数标题、函数体。 标题是函数名。函数体是函数内命令集合。 标题名应该唯一;如果不是,将会混淆结果,因为脚本查看调用脚本前将首先搜索函数调用相应shell。...脚本将提交给cron 进程来运行,如果某个日志文件超过了特定长度,那么它内容将被倒换到另一个文件,并清除原有文件内容。 脚本中日志文件长度限制是由变量BLOCK_LIMIT设定

4.3K30

【Linux】《how linux work》第十一章 Shell 脚本简介

创建 shell 脚本并设置其权限后,将脚本文件放在命令路径下某个目录,然后命令行上运行脚本名称,即可运行脚本如果脚本位于当前工作目录下,也可以运行 ....这些特殊变量与2.8环境和shell变量描述其他shell变量类似,只是你不能更改某些变量。...将变量str设置为in关键字后四个以空格分隔第一个(one)。 do和done之间运行echo命令。...Bourne shell可以将命令标准输出重定向回shell命令行。也就是说,您可以将一个命令输出作为另一个命令参数使用,或者可以通过将命令放在$()来将命令输出存储shell变量。...它执行了你第1章学习过exec()系统调用。这个功能旨在节省系统资源,但请记住,它没有返回; 当你一个Shell脚本运行exec时,脚本和运行脚本Shell都会被替换为新命令。

11910

深入了解定制 Bash | Linux 中国

当用户退出登录模式 shell 时,或者有脚本非交互式登录模式 shell 调用了内置 exit命令,Bash 会读取并执行 ~/.bash_logout 命令,如果 /etc/bash_logout...接收更复杂 Bash 选项(如 HISTTIMEFORMAT),常常通过赋值给环境变量来达到配置目的。以下演示如何shell 选项和环境变量定制 Bash。...PROMPT_DIRTRIM:如果设置成大于零数,则用作展开 \w 和 \W 提示符字符串转义符时保留尾随目录组件数量。删除字符将替换为省略号。...PS4:这个参数像 PS1 那样展开,如果设置了 -x 选项,这个展开会在命令行回显之前作为提示符显示。展开后第一个字符必要时会复制数次,指示间接层数。默认是 + 。...$- Bash 是一个变量如果是交互式 shell,它会包含字母 i。此外,你可以直接输出 $- 变量然后检查它输出是否含有 i 标记。

1.1K20

Bash Export命令「建议收藏」

此时,系统中将有两个shell,一个是登录时系统启动shell另一个是系统为运行脚本程序创建shell。当一个脚本程序运行完毕,脚本shell将终止,返回到执行脚本之前shell。...从这种意义上来说,用户可以有许多shell,每个shell都是由某个shell(称为父shell)派生shell定义变量shell内有效。...如果在一个shell脚本程序定义了一个变量,当脚本程序运行时,这个定义变量只是脚本程序内一个局部变量,其他shell不能引用它,要使某个变量可以在其他shell中被改变,可以使用export...1.语  法:export [-fnp][变量名称]=[变量设置] 2.补充说明:shell执行程序时,shell会提供一组环境变量。...执行脚本时是一个子shell环境运行脚本执行完后shell自动退出; 2. 一个shell系统环境变量会被复制到子shell(用export定义变量); 3.

73820

shell export命令

语  法:export [-fnp][变量名称]=[变量设置] 补充说明:shell执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行程序使用。...export效力仅限于次登陆操作。 参  数:  -f  代表[变量名称]为函数名称。  -n  删除指定变量变量实际上并未删除,只是不会输出到后续指令执行环境。  ...shell定义变量shell内有效。...如果在一个shell脚本程序定义了一个变量, 当脚本程序运行时,这个定义变量只是脚本程序内一个局部变量,其他shell不能引用它, 要使某个变量可以在其他shell中被改变,可以使用export...结论: 1、执行脚本时是一个子shell环境运行脚本执行完后shell自动退出; 2、一个shell系统环境变量会被复制到子shell(用export定义变量); 3、一个shell系统环境变量只对

1.1K20

Linux Shell基础篇二 - 变量

Shell变量 Shell包括有三种变量类型:系统环境变量、自定义变量和特殊符号变量。...注意:这个 $0 环境变量如果用在子shell(shell脚本文件)输出Shell脚本本身文件名。...: 自定义局部变量:就是定义一个脚本文件变量, 只能在这个脚本文件中使用变量, 就是局部变量 自定义常量:就是变量设置以后不可以修改变量叫常量, 也叫只读变量 自定义全局变量:就是在当前脚本文件定义全局变量...bash环境, 变量默认类型都是字符串类型, 无法直接进行数值运算 变量如果有空格, 必须使用双引号括起来 不能使用Shell关键字作为变量名称 变量取值: 12345 # 语法1: 直接使用变量名查询...(注意:如果这一步不执行,无法读取更新环境变量) 1 source /etc/profile 交互式Shell输出环境变量 1 echo $VAR1 Shell字符串变量 字符串是 Shell

2.6K40

如何处理Shell脚本特殊字符

本教程,我们将介绍有关处理 shell 脚本特殊字符最常见用例。首先,我们将讨论 shell 脚本包装命令和变量替换。 然后,我们将处理包含特定前缀文件名。...假设我们有一个变量 整体取HOME变量 使用空格作为分隔符将字符串拆分为字段 将每个以空格分隔字段视为一个可以由 shell 扩展 glob 我们例子,我们对字符串 上下文感兴趣——变量周围双引号产生一个字符串...和 $ shell 也有特殊含义。因此,请记住,每当我们字符串遇到这些字符时,我们都需要在它们之前添加一个反斜杠以获取文字字符。 6....运行shellcheck后,我们可以看到它打印了很多有用信息。本例,我们保留了greeting变量结尾引号。第 6 行,我们开始使用双引号,但工具指出它可能是“Hello ....七、结论 本文中,我们讨论了如何处理 shell 特殊字符和空格。我们编写了各种小型 shell 脚本来演示针对不同用例不同方法。

6.7K30

Shell 快速指南

这样写还有一个好处,操作系统PATH变量有可能配置为指向程序另一个版本。比如,安装完新版本bash,我们可能将其路径添加到PATH,来“隐藏”老版本。如果直接用#!...同时无需提前声明变量,给变量赋值会直接创建变量。 你可以创建三种变量:局部变量,环境变量以及作为位置参数变量。 局部变量 局部变量是仅在某个脚本内部有效变量。它们不能其他程序和脚本访问。...$FUNCNAME 函数名称(仅在函数内部有) 示例: 在下面的例子,位置参数为:$0='....函数 脚本,我们可以定义并调用函数。跟其它程序设计语言类似,函数是一个代码块,但有所不同。 bash ,函数是一个命令序列,这个命令序列组织某个名字下面,即 函数名 。...学习如何使用这些强大、高级工具是非常非常重要。 输入、输出流 Bash接收输入,并以字符序列或 字符流 形式产生输出。这些流能重定向到文件或另一个

3.3K101

linux shell编程学习笔记(3)

1、什么是变量 保存变化数据 ——变量名:名称固定,由系统预设或用户自定义 ——变量值:根据用户设置、系统环境变化而变化 2、如何定义变量 ——变量名=变量 2.1变量规则 (1)数字、字母、...2)set 查看所有变量,包括系统环境变量和自定义变量 3)set | grep 变量名  //查看某个变量 7、变量生命周期和范围(作用域) 7.1局部变量 (1)脚本里定义变量只有脚本里生效...(2)默认定义变量只在当前shell里可以使用,无法shell使用。...变量名=变量值//将要定义变量定义为全局变量 export其实就是声明一下这个变量意思,让shellshell也知道这个变量变量值.如果export后面不加任何变量名,则它会声明所有的变量...shell时,该文件读取。

70020

Linux系列之管理用户环境变量

因为是进程范围,所以它们任何子shell或进程所继承。 「shell变量」:通常以小写字母列出,并且只它们设置shell中有效。...如果我们想将此更改持久化,我们可以使用export命令。export将会把你当前环境,设置到任何新fork子进程,允许新进程继承导出变量。...它有一组占位符,用于显示你想在shell提示符显示信息: \u 当前用户名字 \h 主机名 \w 当前工作目录基本名称 image.png PATH变量 PATH变量控制shell系统何处查找命令...如果bash shell在你PATH变量某个目录没有找到命令,将会返回command not found错误。...如果你想删除任何变量,使用unset命令:unset MYVARIABLE,命令只是删除任何东西之前进行仔细检查。

71220

Shell特殊变量和命令行参数详解

shell变量可分为两类:局部变量和环境变量。 局部变量创建它们shell可用;而环境变量则可以创建它们shell及其派生出来任意子进程中使用。...对shell变量引用方式很多,用这些方式可以方便获取shell变量变量长度,变量一个字串,变量部分替换等等。...shell变量常见引用方式如下: 2.环境变量 环境变量定义方法如下: var=value export var shell初始化时候会在执行profile等初始化脚本脚本定义了一些环境变量,...未指定目录时,cd命令将转向目录 IFS:内部字段分隔符,一般是空格符、制表符和换行符,用于由命令替换,循环结构表和读取输入产生字段划分 LANG:用来为没有以LC_开头变量明确选取种类确定...:当前shell进程,上一个命令返回如果上一个命令成功执行则$?为0,否则为其他非零,常用做if语句条件 $$:当前shell进程pid $!

2.5K60

shell基础

# 4、如何学习shell脚本?...#下面就是脚本具体内容 commands 3)脚本第三部分脚本要实现具体代码内容 # 7、shell脚本执行方法 编写人生第一个shell脚本 # cat example.sh #!...而方法3则是在当前shell执行。 # 二、变量定义 # 1. 变量是什么? 一句话概括:变量是用来临时保存数据数据是可以变化数据。 # 2. 什么时候需要定义变量?...如果某个内容需要多次使用,并且代码重复出现,那么可以用变量代表内容。这样修改内容时候,仅仅需要修改变量。...代码运作过程,可能会把某些命令执行结果保存起来,后续代码需要使用这些结果,就可以直接使用这个变量。 # 3.变量如何定义?

1.8K30

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券