您好,登錄后才能下訂單哦!
這篇文章主要介紹“git用戶(hù)自定義變量查看修改及調(diào)用的方法”,在日常操作中,相信很多人在git用戶(hù)自定義變量查看修改及調(diào)用的方法問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”git用戶(hù)自定義變量查看修改及調(diào)用的方法”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
變量正確定義。
格式:變量名="變量值"
# 兩種方式都可以 [root@localhost ~]# name=zhenniubi [root@localhost ~]# name="zhen niubi"
變量名不能用數(shù)字開(kāi)頭。
[root@localhost ~]# 2name="zhen niubi" -bash:2name=zhen niubi:command not found
等號(hào)左右兩側(cè)不能有空格。
[root@localhost ~]# name = "zhenniubi" -bash:name:command not found
變量的值如果有空格,必須用引號(hào)包含。
[root@localhost ~]# name=zhen niubi -bash:niubi:command not found
調(diào)用變量用$
符號(hào)。
#定義變量name [root@localhost ~ ] # name="zhen niubi" #輸出變量name的值 [root@localhost ~ ] # echo $name zhen niubi
Shell中變量值的修改,是以覆蓋的形式完成的,以后最后一次對(duì)該變量的賦值為準(zhǔn)。
#之前定義好的變量 [root@localhost ~]# name=ailin [root@localhost ~]# [root@localhost ~]# echo $name ailin #修改后的變量值 [root@localhost ~]# name=cangls [root@localhost ~]# [root@localhost ~]# echo $name cangls
命令格式:
[root@localhost ~]# set [選項(xiàng)]
選項(xiàng):
-u
:如果設(shè)定此選項(xiàng),調(diào)用未聲明變量時(shí)會(huì)報(bào)錯(cuò)(默認(rèn)無(wú)任何提示)(很常用)。
-x
:如果設(shè)定此選項(xiàng),在命令執(zhí)行之前,會(huì)把命令先輸出一次。(不建議使用)
在當(dāng)前系統(tǒng)下從沒(méi)有定義過(guò)age
字段(變量),直接輸出age
變量的值,如下圖可以看到?jīng)]有任何值。
如果我給age
字段定義一個(gè)空值,在查看age
字段,如下圖,可以看到依舊沒(méi)有任何輸出。
那么綜上所述,查看一個(gè)變量時(shí)沒(méi)有任何輸出,是有兩種可能的。一種是age
變量不存在,一種是age
變量的值為空。在Java中,變量沒(méi)有被定義和變量值為空完全是兩個(gè)不同的概念,在Shell中也一樣,我們一定要對(duì)此進(jìn)行區(qū)分。
如果我執(zhí)行了set -u
命令,就可以對(duì)上面兩種情況進(jìn)行區(qū)分。
#直接執(zhí)行`set -u`命令 [root@localhost ~ ] # set -u #輸出一個(gè)未定義變量,顯示addr變量不存在。 [root@localhost ~]# echo $addr -bash: addr: unbound variable #給addr變量定義一個(gè)空值, #在查看變量,可以看到變量的值為空。 [root@localhost ~]# addr="" [root@localhost ~]# echo $addr [root@localhost ~]#
注意:在命令行中執(zhí)行set -u
命令,這種方式是臨時(shí)生效的,需要永久生效,就需要寫(xiě)入環(huán)境變量配置文件中。(如何配置,看以后的環(huán)境變量配置內(nèi)容)
總結(jié):當(dāng)設(shè)置了-u
選項(xiàng)后,如果調(diào)用沒(méi)有設(shè)定的變量會(huì)有報(bào)錯(cuò)。默認(rèn)是沒(méi)有在何輸出的。
就字面意思,如果設(shè)定了-x
選項(xiàng),會(huì)在每個(gè)命令執(zhí)行之前,先把命令輸出一次
[root@localhost ~ ] # set -x [root@localhost ~ ] # ls + ls --color=auto anaconda-ks.cfg install.log install.log.syslog sh tdir test testfile
如果不新登陸系統(tǒng),會(huì)一直這樣,因?yàn)樯厦嬲f(shuō)了,在命令行中直接執(zhí)行是臨時(shí)生效的。并不推薦執(zhí)行此選項(xiàng),命令結(jié)果看起來(lái)很亂。
直接使用set
命令,不加任何選項(xiàng),會(huì)查詢(xún)系統(tǒng)中所有的變量,包含用戶(hù)自定義變量和環(huán)境變量。(其實(shí)是一部分)
系統(tǒng)的另一部分變量,用env
命令來(lái)查看。兩個(gè)命令看到的變量會(huì)有重疊,但是env
命令查看不到自定義變量的。(查了一下,網(wǎng)上介紹的也很模糊,就是兩個(gè)命令就能夠查到系統(tǒng)中全部的變量,set
多用于查看系統(tǒng)的用戶(hù)自定義變量,env
多用于查詢(xún)系統(tǒng)的環(huán)境變量。)
set
:用來(lái)顯示當(dāng)前Shell的變量,包括當(dāng)前用戶(hù)的變量。
每個(gè)Shell有自己特有的變量,這個(gè)和用戶(hù)變量是不同的,當(dāng)前用戶(hù)變量和你用什么Shell無(wú)關(guān),不管你用什么Shell,每個(gè)Shell都有自定義的Shell,也就是自己Shell的變量。這種變量不同Shell是不同的,這些變量只有set
才會(huì)顯示,是bash
特有的。這種變量也只對(duì)本Shell有效, 不能傳遞給子Shell。(就相當(dāng)于Java中的局部變量)。
env
:用來(lái)顯示環(huán)境變量,也叫顯示當(dāng)前用戶(hù)的變量,環(huán)境變量可傳遞給子Shell。(就相當(dāng)于Java中的全局變量)
[root@localhost ~]# unset 變量名
不需要在變量名前加$
符號(hào),只有在調(diào)用變量值的時(shí)候需要在變量名前加$
符號(hào)。
到此,關(guān)于“git用戶(hù)自定義變量查看修改及調(diào)用的方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。