查看: 1120|回复: 0

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

[复制链接]

该用户从未签到

发表于 2024-8-29 11:15:48 | 显示全部楼层 |阅读模式
分享到:
变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell变量也遵循这个规则。每一个变量的值都是以字符串的形式存储。
1、变量名的定义
变量名定义需要注意以下几点:
变量名由数字、字母、下划线组成;
必须以字母或者下划线开头;
不能使用Shell里的关键字(如,$,#,?等,通过help命令可以查看保留关键字)。
2、变量的赋值
赋值“=”左右不能有空格。
变量值可以加单引号、双引号、或者不加引号, 如果变量值包含了空格、或tab等空白符号,那么就必须使用引号包围起来。其中加单引号的变量值,输出时,直接将变量值当做一串字符串输出,不关心变量值中是否存在变量和命令。而加双引号的变量值,输出时会先解析里面的变量和命令,按照解析后的结果进行输出。
变量值可以是一个命令执行的结果,使用反引号和$()的方式,可以将命令执行结果赋值给变量。
3、变量的使用
使用一个定义过的变量,只要在变量名前面加美元符号$即可,变量名可以使用{ }包围起来,也可不使用{ }。
举例说明(为了方便,我们直接在shell环境终端进行举例演示变量的使用,不再写入脚本,其与在脚本中使用方法一致)。
1)变量值无空格
var=value
使用echo输出变量var,echo $var或者echo ${var},如图:
6-1.png
也可以加上单引号或者双引号:
var='value'或var="value":
6-2.png
2)变量值有空格
var='value 0'或var="value 0":
6-3.png
3)将命令执行结果赋值给变量
首先建立一个test.txt文件,输入内容为“my test!!”:
6-4.png
使用反引号方式包括命令“cat test.txt”,将test.txt中内容赋予变量var:
6-5.png
使用$()方式赋值给var:
6-6.png
4)变量中引用变量或者命令的情况
var0=123;
使用单引号定义var1的值:var1='var0 =${var0}';
使用双引号定义var1的值:var2="var0 =${var0}";
看执行结果:
6-7.png
可以看出var1的值直接当做字符串输出,而var2的值,经过解析变量中的变量var0之后进行才输出。
4、变量的修改
变量的修改就比较简单了,直接给定义后的变量二次赋值就可以了。
6-8.png
5、变量的删除
删除一个定义过得变量,使用unset命令。
6-9.png
6、将变量设置为只读变量
也可以将变量设置为只读模式,不允许修改,使用readonly命令。设置为只读变量后,不能用unset删除变量。如果还是用该变量,需要重启新的终端操作。
6-10.png
可以看到使用readonly命令之后,在此修改var变量,没有修改成功。

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-18 01:45 , Processed in 0.108054 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.