shell脚本:用户自定义变量

用户自定义变量

顾名思义,用户自定义,也就是用户自己定义的变量,在一定的范围内,你可以随意定义,而那个范围就是用户变量定义格式。

变量格式:

变量名,由字母或下划线打头,不允许数字开头,后面由字母、数字或下划线组成,并且大小写字母意义不同。

变量赋值,在“=”后边直接指定变量内容是为变量赋值的最基本方法,注意,“=”两边没有空格。
一些常见的错误:

[root@linus ~]# 1=2
bash: 1=2: 未找到命令...
[root@linus ~]# 1 =2
bash: 1: 未找到命令...
[root@linus ~]# a= 2
bash: a: 未找到命令...
[root@linus ~]# a=2

使用变量

在使用变量时,需在变量名前加$。我在学习的时候就有一个疑问,到底为什么需要加上$符号。难道是脚本声明类似的约定俗成吗?可是不加的话就会报错,这就和脚本声明不一样了。

后来我才知道,很多命令无法读取变量中的数据,所以需要使用$符号进行调用,而有些命令可以直接读取,则不需要加上$符号。删除命令unset就是一个例子,不管加还是不加,都不影响其功能。

[root@linus ~]# unset $a
[root@linus ~]# unset a

而一些无法读取的命令,若不加上$符号,将无法读取其中的数据。

[root@linus ~]# echo $a
hhh
[root@linus ~]# echo a
a

注意事项

虽说在规范下可以为所欲为地创建变量,但是,千万要注意,对于系统提前定义好的环境变量,不要乱对其修改,否则将会影响自己正常使用。

使用env可查看系统提前定义好的环境变量。

比如说,环境变量LANG,是中国字符集,若进行更改,可以导致其丧失功能。

[root@linus ~]# echo $LANG
zh_CN.UTF-8
[root@linus ~]# asdad
bash: asdad: 未找到命令...
[root@linus ~]# LANG=HHH
[root@linus ~]# asdad
bash: asdad: command not found...

对于这种情况,把更改的变量还原即可。

[root@linus ~]# LANG=zh_CN.UTF-8
[root@linus ~]# asdad
bash: asdad: 未找到命令...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚伪的空想家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值