linux基础——shell变量

什么是变量?

简单的说,就是让某一个特定字串代表不固定的内容就是了。举个大家在课本中都会学到的数学例子,那就是:“ y = ax + b ”这东西,在等号左边的(y)就是变量,在等号右边的(ax+b)就是变量内容。

例:

[dmtsai@study ~]$ echo ${myname}
<=这里并没有任何数据〜因为这个变量尚未被设置!是空的!
(dratsaiestudy 〜]$ myname=VBird
[dmtsai@study ~]$ echo ${myname}
VBird <=出现了!因为这个变量已经被设置了 

变量的设置规则:
1)变量与变量内容以一个等号“=”来链接
“myname=VBird”
2)等号两边不能直接接空白字符
“myname = VBird”或“myname=VBird Tsai”
3)变量名称只能是英文字母与数字,但是开头字符不能是数字
“2myname=VBird”
4)变量内容若有空白字符可使用双引号“"”或单引号“’”将变量内容结合起来,但
双引号内的特殊字符如 $ 等,可以保有原本的特性。
单引号内的特殊字符则仅为一般字符(纯文本)。

5)可用跳脱字符“ \ ”将特殊符号——转移字符
“myname=VBird\ Tsai”

6)在一串指令的执行中,还需要借由其他额外的指令所提供的信息时,可以使用反单引号“指令”或“$(指令)
“version=$(uname -r)”再“echo $version”可得“3.10.0-229.el7.x86_64”

7)若该变量为扩增变量内容时,则可用 "$变量名称" 累加名称${变量} 累加内容
“PATH="$ PATH":/home/bin”或“PATH=${PATH}:/home/bin”
8)若该变量需要在其他子程序执行,需要以 export 来使变量变成环境变量
“export PATH”
9)通常大写字符为系统默认变量,自行设置变量可以使用小写字符
10)取消变量的方法为使用 unset:“unset 变量名称”例如取消 myname 的设置
“unset myname”

shell变量功能

$:(关于本 shell 的 PID)
?:(关于上个执行指令的回传值)
OSTYPE, HOSTTYPE, MACHTYPE:(主机硬件与核心的等级)

export:自定变量转成环境变量
在这里插入图片描述

[dmtsai@study ~]$ export 变量名称

如果仅下达 export 而没有接变量时,那么此时将会把所有的“环境变量”显示出来

变量的内容替换

##:符合取代文字的“最短的”那一个
##:符合取代文字的“最长的”那一个

具体用法见下表:
在这里插入图片描述
变量测试

测试变量是不是为空,给了很多,真用到测试时选用一个就好

在这里插入图片描述
例:

lzj没有设置变量时时:
[root@localhost ~]# myname=${lzj-expr}
[root@localhost ~]# echo $myname
expr
lzj设置为空时:
[root@localhost ~]# lzj=
[root@localhost ~]# myname=${lzj-expr}
[root@localhost ~]# echo $myname

[root@localhost ~]# 
lzj有变量时:
[root@localhost ~]# lzj=666
[root@localhost ~]# myname=${lzj-expr}
[root@localhost ~]# echo $myname
666

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值