那么,该如何定义变量呢?很简单,只需执行"变量名=变量值"命令即可,不过要遵守变量定义规则。例如:
[root@localhost ~]# name="C biancheng"
变量的定义就是这么简单,但是如果不遵守变量定义规则,就会报错。比如:[root@localhost ~]# 2name="C biancheng"
-bash: 2name=shen chao: command not found
#变量名不能以数字开头
[root@localhost ~]# name = "C biancheng"
-bash: name: command not found
#左右两侧不能有空格
[root@localhost ~]# name=C baincheng
-bash: chao: command not found
#变量的值如果有空格,必须用引号包含
我们再来看如何进行变量叠加。例如:
[root@localhost ~]# aa=123
#定义变量aa的值是123
[root@localhost ~]# aa="$aa"456
#重复定义变量aa的值是源aa的值加上456
[root@localhost ~]# echo $aa
123456
#aa的值已经变成了123456
[root@localhost ~]# aa=${aa}789
[root@localhost ~]# echo $aa
123456789
#在进行变量叠加时也可以使用${变量名}格式
在定义变量时,也可以使用特殊字符,如双引号、单引号、反引号、小括号、大括号等。
变量调用当我们需要提取变量中的内容时,需要在变量名之前加入"$"符号。也就是说,我们需要调用变量时,需要在变量名之前加入"$"符号。那么最简单的变量调用就是通过 echo 命令输出变量的值。命令如下:
[root@localhost ~]# name="C biancheng"
#定义变量name
[root@localhost ~]# echo $name
C biancheng
#输出变量name的值
变量查看我们可以通过 echo 命令查询已经设定的变量的值,这种查询是已知变量名查询变量值。但是如果我不知道变量名,那么可以查询系统中已经存在的变量吗?
当然可以,只需使用 set 命令即可。set 命令可以用来查看系统中的所有变量(用户自定义变量和环境变量)和设定 Shell 的执行环境。命令格式如下:
[root@localhost ~]# set [选项]
选项:-u:如果设定此选项,则在调用未声明的变量时会报错(默认无任何提示);-x:如果设定此选项,则在命令执行之前会先把命令输出一次;举几个例子:
[root@localhost ~]# set
BASH=/bin/bash
...省略部分输出...
name='C biancheng'
#直接使用set命令,会查询系统中所有的变量,包含用户自定义变量和环境变量
[root@localhost ~]# set -u
[root@localhost ~]# echo $file
-bash: file: unbound variable
#当设置了-u选项后,如果调用没有设定的变量则会报错。默认是没有任何输出的
[root@localhost ~]# set -x
[root@localhost ~]# ls
+ ls --color=auto
anaconda-ks.cfg install.log install.log.syslog sh tdir test testfile
#如果设定了-x选项,则会在每条命令执行之前先把命令输出一次
变量删除要想删除自定义变量,可以使用 unset 命令。命令格式如下:
[root@localhost ~]# unset 变量名
这里只是清空变量,而不是调用变量的值,所以在变量名前不需要加入符号。举个例子:[root@localhost ~]# unset name
#删除name变量
总结
以上是内存溢出为你收集整理的Shell(Bash)用户自定义变量使用方法详解全部内容,希望文章能够帮你解决Shell(Bash)用户自定义变量使用方法详解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)