歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux環境變量詳解

linux環境變量詳解

日期:2017/3/3 16:32:15   编辑:關於Linux

1. 顯示環境變量HOME

$ echo $HOME

/home/redbooks

2. 設置一個新的環境變量hello

$ export HELLO="Hello!"

$ echo $HELLO

Hello!

3. 使用env命令顯示所有的環境變量

$ env

HOSTNAME=redbooks.safe.org

PVM_RSH=/usr/bin/rsh

Shell=/bin/bash

TERM=xterm

HISTSIZE=1000

...

4. 使用set命令顯示所有本地定義的Shell變量

$ set

BASH=/bin/bash

BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")

BASH_VERSION='2.05b.0(1)-release'

COLORS=/etc/DIR_COLORS.xterm

COLUMNS=80

DIRSTACK=()

DISPLAY=:0.0

...

5. 使用unset命令來清除環境變量

set可以設置某個環境變量的值。清除環境變量的值用unset命令。如果未指定值,則該變量值將被設為NULL。示例如下:

$ export TEST="Test..." #增加一個環境變量TEST

$ env|grep TEST #此命令有輸入,證明環境變量TEST已經存在了

TEST=Test...

$ unset $TEST #刪除環境變量TEST

$ env|grep TEST #此命令沒有輸出,證明環境變量TEST已經存在了

6. 使用readonly命令設置只讀變量

如果使用了readonly命令的話,變量就不可以被修改或清除了。示例如下:

$ export TEST="Test..." #增加一個環境變量TEST

$ readonly TEST #將環境變量TEST設為只讀

$ unset TEST #會發現此變量不能被刪除

-bash: unset: TEST: cannot unset: readonly variable

$ TEST="New" #會發現此也變量不能被修改

-bash: TEST: readonly variable

環境變量的設置位於/etc/profile文件

如果需要增加新的環境變量可以添加下屬行

export path=$path:/path1:/path2:/pahtN

-----------------------------------------------------------------------------------------------------------------------

1.Linux的變量種類

按變量的生存周期來劃分,Linux變量可分為兩類:

1.1 永久的:需要修改配置文件,變量永久生效。

1.2 臨時的:使用export命令聲明即可,變量在關閉shell時失效。

2.設置變量的三種方法

2.1 在/etc/profile文件中添加變量【對所有用戶生效(永久的)】

用VI在文件/etc/profile文件中增加變量,該變量將會對Linux下所有用戶有效,並且是“永久的”。

例如:編輯/etc/profile文件,添加CLASSPATH變量

# vi /etc/profile

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。

2.2 在用戶目錄下的.bash_profile文件中增加變量【對單一用戶生效(永久的)】

用VI在用戶目錄下的.bash_profile文件中增加變量,改變量僅會對當前用戶有效,並且是“永久的”。

例如:編輯guok用戶目錄(/home/guok)下的.bash_profile

$ vi /home/guok/.bash.profile

添加如下內容:

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件後要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。

2.3 直接運行export命令定義變量【只對當前shell(BASH)有效(臨時的)】

在shell的命令行下直接使用[export 變量名=變量值] 定義變量,該變量只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變量也就失效了,再打開新shell時就沒有這個變量,需要使用的話還需要重新定義。

3.環境變量的查看

3.1 使用echo命令查看單個環境變量。例如:

echo $PATH

3.2 使用env查看所有環境變量。例如:

env

3.3 使用set查看所有本地定義的環境變量。

unset可以刪除指定的環境變量。

4.常用的環境變量

PATH 決定了shell將到哪些目錄中尋找命令或程序

HOME 當前用戶主目錄

HISTSIZE 歷史記錄數

LOGNAME 當前用戶的登錄名

HOSTNAME 指主機的名稱

SHELL   當前用戶Shell類型

LANGUGE  語言相關的環境變量,多語言可以修改此環境變量

MAIL   當前用戶的郵件存放目錄

PS1   基本提示符,對於root用戶是#,對於普通用戶是$

Copyright © Linux教程網 All Rights Reserved