溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

git用戶(hù)自定義變量查看修改及調(diào)用的方法

發(fā)布時(shí)間:2022-04-24 14:09:01 來(lái)源:億速云 閱讀:173 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“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í)吧!

    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)]有任何值。

    git用戶(hù)自定義變量查看修改及調(diào)用的方法

    如果我給age字段定義一個(gè)空值,在查看age字段,如下圖,可以看到依舊沒(méi)有任何輸出。

    git用戶(hù)自定義變量查看修改及調(diào)用的方法

    那么綜上所述,查看一個(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ì)查詢(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)境變量。)

    小結(jié):

    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中的全局變量)

    5、變量刪除

    [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í)用的文章!

    向AI問(wèn)一下細(xì)節(jié)

    免責(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)容。

    git
    AI