git用戶自定義變量查看修改及調(diào)用教程詳解
1、變量定義
變量正確定義。
格式:變量名="變量值"
# 兩種方式都可以 [root@localhost ~]# name=zhenniubi [root@localhost ~]# name="zhen niubi"
變量名不能用數(shù)字開頭。
[root@localhost ~]# 2name="zhen niubi" -bash:2name=zhen niubi:command not found
等號左右兩側(cè)不能有空格。
[root@localhost ~]# name = "zhenniubi" -bash:name:command not found
變量的值如果有空格,必須用引號包含。
[root@localhost ~]# name=zhen niubi -bash:niubi:command not found
2、變量調(diào)用
調(diào)用變量用$
符號。
#定義變量name [root@localhost ~ ] # name="zhen niubi" #輸出變量name的值 [root@localhost ~ ] # echo $name zhen niubi
3、變量的修改
Shell中變量值的修改,是以覆蓋的形式完成的,以后最后一次對該變量的賦值為準(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)用未聲明變量時會報(bào)錯(默認(rèn)無任何提示)(很常用)。
-x
:如果設(shè)定此選項(xiàng),在命令執(zhí)行之前,會把命令先輸出一次。(不建議使用)
(1)-u選項(xiàng)說明:
在當(dāng)前系統(tǒng)下從沒有定義過age
字段(變量),直接輸出age
變量的值,如下圖可以看到?jīng)]有任何值。
如果我給age
字段定義一個空值,在查看age
字段,如下圖,可以看到依舊沒有任何輸出。
那么綜上所述,查看一個變量時沒有任何輸出,是有兩種可能的。一種是age
變量不存在,一種是age
變量的值為空。在Java中,變量沒有被定義和變量值為空完全是兩個不同的概念,在Shell中也一樣,我們一定要對此進(jìn)行區(qū)分。
如果我執(zhí)行了set -u
命令,就可以對上面兩種情況進(jìn)行區(qū)分。
#直接執(zhí)行`set -u`命令 [root@localhost ~ ] # set -u #輸出一個未定義變量,顯示addr變量不存在。 [root@localhost ~]# echo $addr -bash: addr: unbound variable #給addr變量定義一個空值, #在查看變量,可以看到變量的值為空。 [root@localhost ~]# addr="" [root@localhost ~]# echo $addr [root@localhost ~]#
注意:在命令行中執(zhí)行set -u
命令,這種方式是臨時生效的,需要永久生效,就需要寫入環(huán)境變量配置文件中。(如何配置,看以后的環(huán)境變量配置內(nèi)容)
總結(jié):當(dāng)設(shè)置了-u
選項(xiàng)后,如果調(diào)用沒有設(shè)定的變量會有報(bào)錯。默認(rèn)是沒有在何輸出的。
(2)-x選項(xiàng)說明:
就字面意思,如果設(shè)定了-x
選項(xiàng),會在每個命令執(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),會一直這樣,因?yàn)樯厦嬲f了,在命令行中直接執(zhí)行是臨時生效的。并不推薦執(zhí)行此選項(xiàng),命令結(jié)果看起來很亂。
(3)set命令說明:
直接使用set
命令,不加任何選項(xiàng),會查詢系統(tǒng)中所有的變量,包含用戶自定義變量和環(huán)境變量。(其實(shí)是一部分)
系統(tǒng)的另一部分變量,用env
命令來查看。兩個命令看到的變量會有重疊,但是env
命令查看不到自定義變量的。(查了一下,網(wǎng)上介紹的也很模糊,就是兩個命令就能夠查到系統(tǒng)中全部的變量,set
多用于查看系統(tǒng)的用戶自定義變量,env
多用于查詢系統(tǒng)的環(huán)境變量。)
小結(jié):
set
:用來顯示當(dāng)前Shell的變量,包括當(dāng)前用戶的變量。
每個Shell有自己特有的變量,這個和用戶變量是不同的,當(dāng)前用戶變量和你用什么Shell無關(guān),不管你用什么Shell,每個Shell都有自定義的Shell,也就是自己Shell的變量。這種變量不同Shell是不同的,這些變量只有set
才會顯示,是bash
特有的。這種變量也只對本Shell有效, 不能傳遞給子Shell。(就相當(dāng)于Java中的局部變量)。
env
:用來顯示環(huán)境變量,也叫顯示當(dāng)前用戶的變量,環(huán)境變量可傳遞給子Shell。(就相當(dāng)于Java中的全局變量)
5、變量刪除
[root@localhost ~]# unset 變量名
不需要在變量名前加$
符號,只有在調(diào)用變量值的時候需要在變量名前加$
符號。
以上就是git用戶自定義變量查看修改及調(diào)用教程詳解的詳細(xì)內(nèi)容,更多關(guān)于git用戶自定義變量查看修改調(diào)用的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
一張圖告訴你計(jì)算機(jī)編程語言的發(fā)展歷史
這篇文章主要介紹了一張圖告訴你計(jì)算機(jī)編程語言的發(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í)例)有更好的性能,然后再從整個系統(tǒng)層面來擁有更好的性能;高并發(fā)則直接是全局角度來讓我們的系統(tǒng)在全鏈路下都能夠抗住更多的并發(fā)請求2023-08-08Typora+PicGo+GitHub實(shí)現(xiàn)md自帶圖床效果
這篇文章主要介紹了Typora+PicGo+GitHub實(shí)現(xiàn)md自帶圖床效果,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04網(wǎng)頁報(bào)錯"Form?elements?must?have?labels"的處理方法
這篇文章主要給大家介紹了關(guān)于網(wǎng)頁報(bào)錯"Form?elements?must?have?labels"的處理方法,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-06-06