国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Linux環(huán)境變量

2024-06-28 13:23:58
字體:
供稿:網(wǎng)友
linux環(huán)境變量

本文地址:http://www.CUOXin.com/archimedes/p/linux-envionment-variables.html,轉(zhuǎn)載請(qǐng)注明源地址。

1.什么是環(huán)境變量

bash shell用一個(gè)稱作環(huán)境變量的特性來存儲(chǔ)有關(guān)shell會(huì)話和工作環(huán)境的信息,它允許你在內(nèi)存中存儲(chǔ)數(shù)據(jù),以便運(yùn)行在shell上的程序和腳本訪問

在bash shell中,環(huán)境變量分為兩類:全局變量和局部變量

(1)全局環(huán)境變量

全局環(huán)境變量不僅對(duì)shell會(huì)話可見,對(duì)所有shell創(chuàng)建的子進(jìn)程中需要獲得父進(jìn)程信息的程序來說非常有用。Linux系統(tǒng)在你開始bash會(huì)話之前就設(shè)置了一些全局環(huán)境變量

系統(tǒng)環(huán)境變量的一律用全大寫字母以區(qū)別與普通用戶的環(huán)境變量

查看全局變量,可以使用PRintenv命令(由于結(jié)果太多,不寫出來)

要顯示單個(gè)環(huán)境變量,可以使用echo命令。當(dāng)引用環(huán)境變量時(shí),必須在環(huán)境變量的名稱前放置一個(gè)$符:

wu@Ubuntu:~/Ccode$ echo $HOME/home/wu

(2)局部環(huán)境變量

局部環(huán)境變量只能在定義它們的進(jìn)程中可見,查看局部環(huán)境變量的列表有點(diǎn)復(fù)雜,在Linux系統(tǒng)中并沒有這樣的一個(gè)命令只顯示局部環(huán)境變量

set命令會(huì)顯示某個(gè)特定進(jìn)程設(shè)置的所有環(huán)境變量,當(dāng)然也包括全局變量

2.設(shè)置環(huán)境變量(1)設(shè)置局部環(huán)境變量

一旦啟動(dòng)了bash shell,你就能創(chuàng)建在這個(gè)shell進(jìn)程內(nèi)可見的局部變量了,你可以通過等號(hào)來給環(huán)境變量賦值,值可以是數(shù)值或字符串:

wu@ubuntu:~$ test=testingwu@ubuntu:~$ echo $testtesting

如果要給變量賦一個(gè)含有空格的字符串,必須用單引號(hào)來界定字符串的開始和結(jié)尾:

wu@ubuntu:~$ test=testing a long stringa: command not foundwu@ubuntu:~$ test='testing a long string'wu@ubuntu:~$ echo $testtesting a long string

(2)設(shè)置全局環(huán)境變量

創(chuàng)建全局環(huán)境變量的方法是先創(chuàng)建一個(gè)局部環(huán)境變量,然后再把它導(dǎo)出到全局環(huán)境中

這個(gè)過程通過export命令來完成:

wu@ubuntu:~$ echo $testtesting a long stringwu@ubuntu:~$ export testwu@ubuntu:~$ bashwu@ubuntu:~$ echo $testtesting a long string

(3)刪除環(huán)境變量

可以使用unset命令來刪除環(huán)境變量:

wu@ubuntu:~$ echo $testtesting a long stringwu@ubuntu:~$ unset testwu@ubuntu:~$ echo $test

wu@ubuntu:~$

3.默認(rèn)shell環(huán)境變量

1、BASH:記錄當(dāng)前bash shell的路徑。

2、BASH_SUBSHELL :記錄當(dāng)前子shell的層次。BASH_SUBSHELL是從0開始計(jì)數(shù)的整數(shù)。

3、BASH_VERSINFO :是一個(gè)數(shù)組包含六個(gè)元素,這六個(gè)元素顯示bash的版本信息。

4、BASH_VERSION :顯示shell版本的信息。

5、DIRSTACK:記錄了棧頂?shù)哪夸浿担踔禐榭铡?/p>

6、GLOBLGNORE :是由冒號(hào)分割的模式列表,表示通配時(shí)忽略的文件名集合。

7、GROUPS:記錄當(dāng)前用戶所屬的組。

8、HOME:記錄當(dāng)前用戶的家目錄,由/etc/passwd的倒數(shù)第二個(gè)域決定。

9、HOSTNAME:記錄主機(jī)名。

10、HOSTTYPE和MACHTYPE :都是記錄系統(tǒng)的硬件架構(gòu)。

11、IFS :用于設(shè)置指定shell域分隔符,默認(rèn)情況下為空格。

12、OLDPWD :記錄舊的工作目錄。

13、OSTYPE :記錄操作系統(tǒng)類型。

14、PATH :環(huán)境變量,顯示當(dāng)前PATH環(huán)境變量的內(nèi)容。

15、PPID :是創(chuàng)建當(dāng)前進(jìn)程的進(jìn)程號(hào),即當(dāng)前進(jìn)程的父進(jìn)程號(hào)

16、PS1 :提示符變量,用于設(shè)置提示符格式,用于設(shè)置一級(jí)shell提示符環(huán)境變量。

17、PS2 :用于設(shè)置二級(jí)shell提示符環(huán)境變量。

18、PWD :記錄當(dāng)前路徑

19、REPLY :REPLY變量與read和select有關(guān)。

20、SECONDS:記錄腳本從開始到結(jié)束耗費(fèi)的時(shí)間。

21、SHELL :顯示當(dāng)前所用的shell

22、SHELLOPTS :記錄了處于“開”狀態(tài)的shell選項(xiàng)列表,它只是一個(gè)只讀變量。

23、SHLVL :記錄了bash嵌套的層次,一般來說,我們啟動(dòng)第一個(gè)Shell時(shí)。 $SHLVL=1。如果在這個(gè)Shell中執(zhí)行腳本,腳本中的$SHLVL=2 。

24、TMOUT :用來設(shè)置腳本過期的時(shí)間,比如TMOUT=3,表示該腳本3秒后過期。

25、UID : 已登用戶的ID

26、USER :顯示當(dāng)前用戶名字

4.設(shè)置PATH環(huán)境變量

PATH定義了命令行輸入命令的搜素路徑,如果找不到命令,它會(huì)產(chǎn)生一個(gè)錯(cuò)誤:

wu@ubuntu:~$ myprogmyprog: command not found

可以添加新的搜素目錄到現(xiàn)有的PATH環(huán)境變量,無需從頭定義,PATH中的目錄之間是用冒號(hào)分隔的,所以你只需引用原來的PATH值,然后再給字符串添加新的目錄就行

5.可變數(shù)組

環(huán)境變量一個(gè)很好的功能就是它們可作為數(shù)組使用,要給某個(gè)環(huán)境變量設(shè)置多個(gè)值,可以把值放在括號(hào)里,值與值之間用空格隔開:

wu@ubuntu:~$ mytest=(one two three four five)wu@ubuntu:~$ echo $mytestone

只有第一個(gè)值顯示出來了。要引用一個(gè)單獨(dú)的數(shù)組元素,必須用代表它在數(shù)組中位置的數(shù)值索引值,數(shù)值要用方括號(hào)括起來:

wu@ubuntu:~$ echo ${mytest[2]}three

要顯示整個(gè)數(shù)組變量,可用星號(hào)作為通配符放在索引值的位置:

wu@ubuntu:~$ echo ${mytest[*]}one two three four five

你也可以改變某個(gè)索引位置的值:

wu@ubuntu:~$ mytest[2]=sevenwu@ubuntu:~$ echo ${mytest[*]}one two seven four five

你甚至可以用unset命令來刪除數(shù)組中的某個(gè)值,但是要小心:

wu@ubuntu:~$ unset mytest[2]wu@ubuntu:~$ echo ${mytest[*]}one two four fivewu@ubuntu:~$ echo ${mytest[2]}

wu@ubuntu:~$ echo ${mytest[3]}four

最后,可以在unset命令后跟上數(shù)組名來刪除整個(gè)數(shù)組:

wu@ubuntu:~$ unset mytestwu@ubuntu:~$ echo ${mytest[*]}

wu@ubuntu:~$


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 日照市| 临潭县| 云安县| 宁国市| 岢岚县| 齐河县| 团风县| 郧西县| 酒泉市| 县级市| 安达市| 东乡族自治县| 梁平县| 呼玛县| 祥云县| 五华县| 黄石市| 巴林右旗| 桓仁| 郴州市| 临海市| 宁南县| 麻栗坡县| 泸州市| 周宁县| 托克逊县| 城步| 苏尼特右旗| 曲阳县| 铜梁县| 巍山| 班玛县| 翁牛特旗| 万盛区| 恩平市| 灵台县| 山东| 青龙| 安吉县| 滨州市| 惠来县|