【Linux学习笔记】25:用户自定义变量

来源:互联网 发布:网络彩票赌博怎么举报 编辑:程序博客网 时间:2024/06/05 12:49

用户自定义变量是Bash变量中最自由的变量,它的内容、名称、作用都可以自定义。

[1]定义变量

变量名=变量值

注意在Bash变量定义时,等号左右两边不能加空格。如果变量值有空格,那么需要给它加上双引号或者单引号(在前面学过了单双引号的区别)。

[root@bogon ~]# name="l zh"[root@bogon ~]# name = "l zh"-bash: name: command not found

注意加了空格之后,系统报错,它认为输入的是一个系统命令,而它没有找到这样的命令,所以就报错了。

[2]变量的调用

echo $变量名

echo命令是输出命令,这是最简单的调用方法,即输出变量的值。还有其它的调用方法,但是只要是调用变量,就要在变量前面加dollar符号。

[root@bogon ~]# echo $namel zh

Linux中的变量的值默认都是字符串,不能直接做数值运算:

[root@bogon ~]# x=5[root@bogon ~]# y=6[root@bogon ~]# z=$x+$y[root@bogon ~]# echo $z5+6

[3]变量的叠加

有时候不需要覆盖变量的值,需要在变量值后面加入其它的,就要用到变量的叠加。

[root@bogon ~]# x=123[root@bogon ~]# x="$x"456[root@bogon ~]# echo $x123456

或者用这样的方式:

[root@bogon ~]# x=123[root@bogon ~]# x=${x}456[root@bogon ~]# echo $x123456

[4]变量的查看

调用只是去读取里面的数据,而set可以去查询系统当中所有已经生效的变量。
这里写图片描述
当用echo去调用一个变量的值,结果为空时,有两种可能:①变量存在但没有值 ②变量根本不存在,为了区分这两种情况,可以使用set -u命令:

[root@bogon ~]# echo $a[root@bogon ~]# set -u[root@bogon ~]# echo $a-bash: a: unbound variable

对于不存在的变量,就会明确提示了。即如果设定此选项,调用未声明的变量时会报错。

[5]变量的删除

unset 变量名

删除多个变量时,中间加空格而不是逗号:

[root@bogon ~]# unset x[root@bogon ~]# unset y,z,name-bash: unset: `y,z,name': not a valid identifier[root@bogon ~]# unset y z[root@bogon ~]# unset name
原创粉丝点击