學習linux之環境變數

2021-08-21 19:00:03 字數 2932 閱讀 5980

前言:環境變數 , 要是你學過c語言,你可以以這樣的思想去理解,變數,變數,是乙個變化的量,用乙個簡單的「字眼」來代替另外乙個比較複雜或者是容易變動的資料(出自鳥哥的私房菜),根據需求,改變這個變數的值。

正解:變數就是一組文字或者符號(這些文字和符號都是你自己定義的)來代替一些設定或者是一串保留的資料。

例如:你設定乙個字元name(變數)就是m_j,那後續凡是遇到name,系統就會知道這個name就是m_j。

而linux當中的環境變數經常就是些路徑,username=/var/spool/mail/user,後面遇到的username就都指示為/var/spool/mail/user了。

現在有了變數了,那要如何顯示變數呢?    顯示變數就用echo(用於檢視變數)或者unset(用於取消變數),使用echo命令的時候,要在變數前面加上$這個符號,

如下:root@mj:/# echo $path        這個是檢視變數命令,下面就是顯示的變數路徑

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/embedsky/4.4.6/bin:/usr/local/games

如何設定和修改變數:     利用「=」連線變數和它的內容就ok 如下,剛開始這個變數還沒有被設定,所以用echo檢視是空的

root@mj:/# echo $name

root@mj:/# name=m_j      現在被設定為m_j了

root@mj:/# echo $name    所以顯示就會顯示m_j

m_j

這樣,name這個變數就表示m_j了,

取消變數設定:

root@mj:/# unset name    取消變數的命令

root@mj:/# echo $name    再次檢視該變數,下面顯示為空

root@mj:/#

需要注意的幾點:

1.等號兩邊不能直接接空格符,但是若變數內容中含有空格符怎麼辦?別怕。聰明的人類說:利用雙引號或者單引號將變數的內容擴起來,(注意單引號和雙引號必須要成對)對於雙引號裡面的一些特殊字元如:$,可以保持原狀。這裡舉個例子來表述單引號和雙引號的區別:

root@mj:/# echo $name     檢視下變數name的值  下面顯示沒有

root@mj:/# name=m_j        設定變數name的值為m_j

root@mj:/# echo $name       再次檢視name的值  顯示m_j

m_jroot@mj:/# myname="$name ju de li zi"        使用雙引號

root@mj:/# echo $myname

m_j ju de li zi

root@mj:/# myname='$name ju de li zi'        使用單引號

root@mj:/# echo $myname

$name ju de li zi

看看他們的區別,總結為使用單引號的時候,變數name就不會代表m_j的值了,僅顯示為一般字元,所以  這裡要注意喲(-_-)

2.變數名稱只能是英文和數字,而且開頭字元不能是數字

3.可以利用轉義字元「\」將一些特殊字元(enter、#、!、空格符等)變為一般字元

4.對於系統的一些變數,系統自己使用的是大寫。我們自己設定變數的時候,我們可以利用小寫

5.如果該變數需要在其它子程序使用,則需要利用export來是變數變成環境變數。如export  path,這裡多說下子程序(在開啟當前的這個shell的情況下,再去開啟另外乙個新的shell,那個新的shell就是子程序,一般的情況下,父程序的一些自定義變數不能在子程序中使用,所以就需要使用export將變數變成環境變數,這樣,這個父程序的變數就能夠在子程序中使用了。這和c語言中變數的作用域很像,c語言的話就需要用extern來宣告  -_-)

說一說如何累加變數:(看操作-_-)

root@mj:/# echo $path      先使用命令檢視下path變數 如下

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/embedsky/4.4.6/bin:/usr/local/games

現在要在path變數下加入/home/dmtsai/bin 變數,直接以:連線path新增上變數路徑就ojbk了。

root@mj:/# echo $path:/home/dmtsai/bin     

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/embedsky/4.4.6/bin:/usr/local/games:/home/dmtsai/bin

小竅門:

如果你經常去某乙個目錄,但是這個目錄的路徑特別長,切換的話,要切換好多次,是不是很麻煩呢

那麼有了這個變數了 就可以這樣子:

root@mj:/# study="/opt/embedsky/qt-4.5/build/build_arm/"   比如我經常去這個目錄下,所以我現在就設定乙個變數study,並且給它設定路徑值,那麼下次我去這個目錄的時候,我就可以直接輸入下面的命令,就直接到達那個目錄了,還是特別的方便了呢

root@mj:/# cd $study

root@mj:/opt/embedsky/qt-4.5/build/build_arm#

結合鳥哥的私房菜所寫                                  2023年07月26日15:22:04

Linux之環境變數

按環境變數的生存週期來劃分可分為兩類 1 永久生效的環境變數 環境變數是定義在配置檔案中的,修改時需要修改配置檔案。1 在 etc profile檔案中使用export定義環境變數,對所有使用者都生效 2 在某使用者的家目錄的.bash profile檔案中使用export定義環境變數,對該使用者生...

linux學習 環境變數

1 環境變數檔案 etc profile 2 輸出環境變數值 echo path 3 linux bash command not found,解決 為防止如上異常,請先初始化環境變數 1 修改profile檔案 所有使用者 vi etc profile 加入 export path path us...

Linux學習筆記之《檢視環境變數》

1.linux檢視環境變數顯示環境變數home echo home home redbooks 2.linux檢視環境變數設定乙個新的環境變數hello export hello hello echo hello hello 3.linux檢視環境變數使用env命令顯示所有的環境變數 env hos...