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