git用戶自定義變量查看修改及調(diào)用教程詳解
1、變量定義
變量正確定義。
格式:變量名="變量值"
# 兩種方式都可以 [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
2、變量調(diào)用
調(diào)用變量用$
符號(hào)。
#定義變量name [root@localhost ~ ] # name="zhen niubi" #輸出變量name的值 [root@localhost ~ ] # echo $name zhen niubi
3、變量的修改
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
4、查看變量
命令格式:
[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ì)把命令先輸出一次。(不建議使用)
(1)-u選項(xiàng)說(shuō)明:
在當(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)有在何輸出的。
(2)-x選項(xiàng)說(shuō)明:
就字面意思,如果設(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)很亂。
(3)set命令說(shuō)明:
直接使用set
命令,不加任何選項(xiàng),會(huì)查詢系統(tǒng)中所有的變量,包含用戶自定義變量和環(huán)境變量。(其實(shí)是一部分)
系統(tǒng)的另一部分變量,用env
命令來(lái)查看。兩個(gè)命令看到的變量會(huì)有重疊,但是env
命令查看不到自定義變量的。(查了一下,網(wǎng)上介紹的也很模糊,就是兩個(gè)命令就能夠查到系統(tǒng)中全部的變量,set
多用于查看系統(tǒng)的用戶自定義變量,env
多用于查詢系統(tǒng)的環(huán)境變量。)
小結(jié):
set
:用來(lái)顯示當(dāng)前Shell的變量,包括當(dāng)前用戶的變量。
每個(gè)Shell有自己特有的變量,這個(gè)和用戶變量是不同的,當(dāng)前用戶變量和你用什么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)前用戶的變量,環(huán)境變量可傳遞給子Shell。(就相當(dāng)于Java中的全局變量)
5、變量刪除
[root@localhost ~]# unset 變量名
不需要在變量名前加$
符號(hào),只有在調(diào)用變量值的時(shí)候需要在變量名前加$
符號(hào)。
以上就是git用戶自定義變量查看修改及調(diào)用教程詳解的詳細(xì)內(nèi)容,更多關(guān)于git用戶自定義變量查看修改調(diào)用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
一張圖告訴你計(jì)算機(jī)編程語(yǔ)言的發(fā)展歷史
這篇文章主要介紹了一張圖告訴你計(jì)算機(jī)編程語(yǔ)言的發(fā)展歷史,也可看作是計(jì)算機(jī)的發(fā)展歷史大事記,需要的朋友可以參考下2015-07-07高性能高可用高并發(fā)架構(gòu)和系統(tǒng)設(shè)計(jì)思路大綱
高性能架構(gòu)和系統(tǒng)設(shè)計(jì)要求高并發(fā)高性能,高性能更多的是先從編碼角度、架構(gòu)使用角度去讓我們的單機(jī)(單實(shí)例)有更好的性能,然后再?gòu)恼麄€(gè)系統(tǒng)層面來(lái)?yè)碛懈玫男阅?;高并發(fā)則直接是全局角度來(lái)讓我們的系統(tǒng)在全鏈路下都能夠抗住更多的并發(fā)請(qǐng)求2023-08-08Typora+PicGo+GitHub實(shí)現(xiàn)md自帶圖床效果
這篇文章主要介紹了Typora+PicGo+GitHub實(shí)現(xiàn)md自帶圖床效果,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04網(wǎng)頁(yè)報(bào)錯(cuò)"Form?elements?must?have?labels"的處理方法
這篇文章主要給大家介紹了關(guān)于網(wǎng)頁(yè)報(bào)錯(cuò)"Form?elements?must?have?labels"的處理方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-06-06