git用户自定义变量查看修改及调用的方法
导读:本文共2937.5字符,通常情况下阅读需要10分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 1、变量定义变量正确定义。格式:变量名="变量值"#两种方式都可以[root@localhost~]#name=zhenniubi[root@localhost~]#name="zhenniubi"变量名不能用数字开头。[root@localhost~]#2name="zhenniubi"-bas... ...
目录
(为您整理了一些要点),点击可以直达。1、变量定义
变量正确定义。
格式:变量名="变量值"
#两种方式都可以[root@localhost~]#name=zhenniubi[root@localhost~]#name="zhenniubi"
变量名不能用数字开头。
[root@localhost~]#2name="zhenniubi"-bash:2name=zhenniubi:commandnotfound
等号左右两侧不能有空格。
[root@localhost~]#name="zhenniubi"-bash:name:commandnotfound
变量的值如果有空格,必须用引号包含。
[root@localhost~]#name=zhenniubi-bash:niubi:commandnotfound
2、变量调用
调用变量用$
符号。
#定义变量name[root@localhost~]#name="zhenniubi"#输出变量name的值[root@localhost~]#echo$namezhenniubi
3、变量的修改
Shell中变量值的修改,是以覆盖的形式完成的,以后最后一次对该变量的赋值为准。
#之前定义好的变量[root@localhost~]#name=ailin[root@localhost~]#[root@localhost~]#echo$nameailin#修改后的变量值[root@localhost~]#name=cangls[root@localhost~]#[root@localhost~]#echo$namecangls
4、查看变量
命令格式:
[root@localhost~]#set[选项]
选项:
-u
:如果设定此选项,调用未声明变量时会报错(默认无任何提示)(很常用)。
-x
:如果设定此选项,在命令执行之前,会把命令先输出一次。(不建议使用)
(1)-u选项说明:
在当前系统下从没有定义过age
字段(变量),直接输出age
变量的值,如下图可以看到没有任何值。
如果我给age
字段定义一个空值,在查看age
字段,如下图,可以看到依旧没有任何输出。
那么综上所述,查看一个变量时没有任何输出,是有两种可能的。一种是age
变量不存在,一种是age
变量的值为空。在Java中,变量没有被定义和变量值为空完全是两个不同的概念,在Shell中也一样,我们一定要对此进行区分。
如果我执行了set -u
命令,就可以对上面两种情况进行区分。
#直接执行`set-u`命令[root@localhost~]#set-u#输出一个未定义变量,显示addr变量不存在。[root@localhost~]#echo$addr-bash:addr:unboundvariable#给addr变量定义一个空值,#在查看变量,可以看到变量的值为空。[root@localhost~]#addr=""[root@localhost~]#echo$addr[root@localhost~]#
注意:在命令行中执行set -u
命令,这种方式是临时生效的,需要永久生效,就需要写入环境变量配置文件中。(如何配置,看以后的环境变量配置内容)
总结:当设置了-u
选项后,如果调用没有设定的变量会有报错。默认是没有在何输出的。
(2)-x选项说明:
就字面意思,如果设定了-x
选项,会在每个命令执行之前,先把命令输出一次
[root@localhost~]#set-x[root@localhost~]#ls+ls--color=autoanaconda-ks.cfginstall.loginstall.log.syslogshtdirtesttestfile
如果不新登陆系统,会一直这样,因为上面说了,在命令行中直接执行是临时生效的。并不推荐执行此选项,命令结果看起来很乱。
(3)set命令说明:
直接使用set
命令,不加任何选项,会查询系统中所有的变量,包含用户自定义变量和环境变量。(其实是一部分)
系统的另一部分变量,用env
命令来查看。两个命令看到的变量会有重叠,但是env
命令查看不到自定义变量的。(查了一下,网上介绍的也很模糊,就是两个命令就能够查到系统中全部的变量,set
多用于查看系统的用户自定义变量,env
多用于查询系统的环境变量。)
小结:
set
:用来显示当前Shell的变量,包括当前用户的变量。
每个Shell有自己特有的变量,这个和用户变量是不同的,当前用户变量和你用什么Shell无关,不管你用什么Shell,每个Shell都有自定义的Shell,也就是自己Shell的变量。这种变量不同Shell是不同的,这些变量只有set
才会显示,是bash
特有的。这种变量也只对本Shell有效, 不能传递给子Shell。(就相当于Java中的局部变量)。
env
:用来显示环境变量,也叫显示当前用户的变量,环境变量可传递给子Shell。(就相当于Java中的全局变量)
5、变量删除
[root@localhost~]#unset变量名
不需要在变量名前加$
符号,只有在调用变量值的时候需要在变量名前加$
符号。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
git用户自定义变量查看修改及调用的方法的详细内容,希望对您有所帮助,信息来源于网络。