linux shell之变量的使用规则
时间:2022-07-23
本文章向大家介绍linux shell之变量的使用规则,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
声明
以下内容均引用自鸟哥私房菜
变量的使用规则
1.变量与变量内容以一个等号”=”连接
[root@localhost ~]# myname=lichao
2.等号两边不能存在空格字符
[root@localhost kernel]# myname=li chao
bash: chao: command not found...
3.变量名称只能是英文字母或者数字,但是开头字符不能是数字
4.变量内容若有空格符可使用双引号或者单引号将变量内容结合起来,但是
1)双引号内的特殊字符可以保持原有的特性 2)单引号内的特殊字符仅为一般字符 如下所示:引用变量myname
[root@localhost ~]# myname=lichao
[root@localhost ~]# echo $myname
lichao
[root@localhost ~]# info="$myname is an software engineer"
[root@localhost ~]# echo $info
lichao is an software engineer
[root@localhost ~]# info2='$myname is an software engineer'
[root@localhost ~]# echo $info2
$myname is an software engineer
5.可以使用转义字符””将特殊符号(如[enter],$,空格,!)等变成一般字符
[root@localhost ~]# var=i'm an engineer
[root@localhost ~]# echo $var
i'm an engineer
6.想要在原有变量上增加内容,可以使用
”$变量”或者${变量}
[root@localhost kernel]# info="my name is lichao"
[root@localhost kernel]# info=${info},and age is
[root@localhost kernel]# echo $info
my name is lichao,and age is
[root@localhost kernel]# info="$info" xxx
[root@localhost kernel]# echo $info
my name is lichao,and age is xxx
7.在一串命令中如果想引用其它命令,可以使用反单引号或者$(命令)
给变量赋值
[root@localhost zabbix]# version=$(uname -r)
[root@localhost zabbix]# echo $version
3.10.0-514.16.1.el7.x86_64
或者在路径中引用
[root@localhost zabbix]# cd /lib/modules/`uname -r`/kernel
[root@localhost kernel]# pwd
/lib/modules/3.10.0-514.16.1.el7.x86_64/kernel
注意反单引号或者$(命令) 这里面需要的是命令,不要和第6条中的变量的增加搞混淆了,上面version变量已经赋值了,但是像下面这样的写法是有问题的。
[root@localhost kernel]# cd /lib/modules/$(version)/kernel
bash: version: command not found...
-bash: cd: /lib/modules//kernel: No such file or directory
$()里面应该是指令而不应该是变量,要想引用变量内容需要使用中括号。
[root@localhost ~]# cd /lib/modules/${version}/kernel
[root@localhost kernel]# pwd
/lib/modules/3.10.0-514.16.1.el7.x86_64/kernel
8.取消变量的使用unset 变量名
查看环境变量可以使用指令env,查看环境变量和自定义变量可以使用set。
[root@localhost locale]# set | grep myname
info2='$myname is an software engineer'
myname=lichao
也可以使用export来查看环境变量,但是export通常是用来将自定义变量转换成环境变量。
备注:以上内容均是学习鸟哥私房菜这本书做的笔记。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PyCharm2019亲测破解方式
- :: 是什么语法?
- 支付宝二面:Mybatis接口Mapper内的方法为啥不能重载吗?我直接懵逼了...
- Windows系统中使用Linux命令(可以批量下载Modis数据)
- Python制作桑基图(我承认我低估了这个教程)
- 几个好看的Seaborn图样~(虽然官方配色一般般,但我还是忍不住夸它)
- GDAL读取MAIAC的HDF文件(熟肉)
- Google Earth Engine(GEE)-谷歌地球引擎的大致Python入门
- 谷歌地球引擎(Google Earth Engine)之数据初探(栅格和矢量)
- Python-gdal离线文档下载
- 利用python把shp文件写入PostgresSQL数据库
- python调用cmd运行GDAL报错解决:ERROR 1: PROJ
- Tungsten Fabric知识库丨测试2000个vRouter节点部署
- 一行代码快速图像识别~一排代码搞定视频识别
- Python测试开发django5.urls.py参数name与<a>标签的引用