• 正文
    • 1、变量名的定义
    • 2、变量的赋值
    • 3、变量的使用
    • 4、变量的修改
    • 5、变量的删除
    • 6、将变量设置为只读变量
  • 推荐器件
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之变量

2024/08/29
1597
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell变量也遵循这个规则。每一个变量的值都是以字符串的形式存储。

1、变量名的定义

变量名定义需要注意以下几点:

变量名由数字、字母、下划线组成;

必须以字母或者下划线开头;

不能使用Shell里的关键字(如,$,#,?等,通过help命令可以查看保留关键字)。

2、变量的赋值

赋值“=”左右不能有空格。

变量值可以加单引号、双引号、或者不加引号, 如果变量值包含了空格、或tab等空白符号,那么就必须使用引号包围起来。其中加单引号的变量值,输出时,直接将变量值当做一串字符串输出,不关心变量值中是否存在变量和命令。而加双引号的变量值,输出时会先解析里面的变量和命令,按照解析后的结果进行输出。

变量值可以是一个命令执行的结果,使用反引号和$()的方式,可以将命令执行结果赋值给变量。

3、变量的使用

使用一个定义过的变量,只要在变量名前面加美元符号$即可,变量名可以使用{ }包围起来,也可不使用{ }。

举例说明(为了方便,我们直接在shell环境终端进行举例演示变量的使用,不再写入脚本,其与在脚本中使用方法一致)。

1)变量值无空格

var=value

使用echo输出变量var,echo $var或者echo ${var},如图:

也可以加上单引号或者双引号:

var='value'或var="value":

2)变量值有空格

var='value 0'或var="value 0":

3)将命令执行结果赋值给变量

首先建立一个test.txt文件,输入内容为“my test!!”:

使用反引号方式包括命令“cat test.txt”,将test.txt中内容赋予变量var:

使用$()方式赋值给var:

4)变量中引用变量或者命令的情况

var0=123;

使用单引号定义var1的值:var1='var0 =${var0}';

使用双引号定义var1的值:var2="var0 =${var0}";

看执行结果:

可以看出var1的值直接当做字符串输出,而var2的值,经过解析变量中的变量var0之后进行才输出。

4、变量的修改

变量的修改就比较简单了,直接给定义后的变量二次赋值就可以了。

5、变量的删除

删除一个定义过得变量,使用unset命令。

6、将变量设置为只读变量

也可以将变量设置为只读模式,不允许修改,使用readonly命令。设置为只读变量后,不能用unset删除变量。如果还是用该变量,需要重启新的终端操作。

可以看到使用readonly命令之后,在此修改var变量,没有修改成功。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
NX5032GA-12.000M-STD-CSU-2 1 Nihon Dempa Kogyo Co Ltd Parallel - Fundamental Quartz Crystal, 12MHz Nom, ROHS COMPLIANT, SMALL, COMPACT PACKAGE-2
暂无数据 查看
FN2450046 1 Diodes Incorporated Oscillator, 1MHz Min, 166MHz Max, 24.575MHz Nom,
暂无数据 查看
HCPL2631SD 1 onsemi 8-Pin DIP Dual-Channel High Speed 10 MBit/s Logic Gate Output Optocoupler (Not recommend for new design. The new equivalent part number is HCPL26xxM), 1000-REEL
$1.73 查看
飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐