加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1、变量名的定义
    • 2、变量的赋值
    • 3、变量的使用
    • 4、变量的修改
    • 5、变量的删除
    • 6、将变量设置为只读变量
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

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

08/29 13:06
1585
阅读需 4 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,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模型 风险等级 参考价格 更多信息
7XZ-32.768KDA-T 1 TXC Corporation Oscillator, 0.032768MHz Nom,
$1.84 查看
ABM8-25.000MHZ-D2Y-T 1 Abracon Corporation CRYSTAL 25.000MHZ 18PF SMD

ECAD模型

下载ECAD模型
$0.47 查看
AFBR-2528CZ 1 Broadcom Limited Receiver,

ECAD模型

下载ECAD模型
$20.44 查看
飞凌嵌入式

飞凌嵌入式

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

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

查看更多

相关推荐

电子产业图谱