Shell變量有局部變量、環(huán)境變量之分。局部變量就是指在某個(gè)Shell中生效的變量,只在此次登錄中有效。環(huán)境變量通常又稱“全局變量”,雖然在Shell中變量默認(rèn)就是全局的,但是為了讓子Shall繼承當(dāng)前Shell的變量,需要使用export內(nèi)建命令將其導(dǎo)出為環(huán)境變量。
創(chuàng)新互聯(lián)提供網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì),成都品牌網(wǎng)站建設(shè),一元廣告等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,10年的網(wǎng)站開發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破數(shù)千家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.
按變量的生存周期劃分:
永久的:需要修改配置文件,變量永久生效。
臨時(shí)的:使用export命令聲明即可,變量在關(guān)閉shell時(shí)失效。
在配置永久的環(huán)境變量時(shí),又可以按照作用范圍分為:
用戶環(huán)境變量
系統(tǒng)環(huán)境變量。
系統(tǒng)環(huán)境變量對(duì)所有系統(tǒng)用戶都有效,用戶環(huán)境變量?jī)H僅對(duì)當(dāng)前的用戶有效。
全局(公有)配置,不管是哪個(gè)用戶,登錄時(shí)都會(huì)讀取該文件。
它也是全局(公有)的 bash執(zhí)行時(shí),不管是何種方式,都會(huì)讀取此文件。
不要輕易修改此文件
用戶環(huán)境變量通常被存儲(chǔ)在下面的文件中:
若bash是以login方式執(zhí)行時(shí),讀取 ~/.bash_profile ,若它不存在,則讀取 ~/.bash_login ,若前兩者不存在,讀取 ~/.profile 。
若bash是以login方式執(zhí)行時(shí),讀取 ~/.bash_profile ,若它不存,則讀取 ~/.bash_login ,若前兩者不存在,讀取 ~/.profile 。
只有bash是以login形式執(zhí)行時(shí),才會(huì)讀取.bash_profile,Unbutu默認(rèn)沒有此文件,可新建。 通常該配置文件還會(huì)配置成去讀取 ~/.bashrc 。
當(dāng)bash是以non-login形式執(zhí)行時(shí),讀取此文件。若是以login形式執(zhí)行,則不會(huì)讀取此文件。
~/.bash_profile 是交互式、login 方式進(jìn)入 bash 運(yùn)行的
~/.bashrc 是交互式 non-login 方式進(jìn)入 bash 運(yùn)行的通常二者設(shè)置大致相同,所以通常前者會(huì)調(diào)用后者。
如想將一個(gè)路徑加入到環(huán)境變量(例如$PATH)中,可以像下面這樣做(修改/etc/profile):
你可以自己加上指定的路徑,中間用冒號(hào)隔開。環(huán)境變量更改后,在用戶下次登陸時(shí)生效,如果想立刻生效,則可執(zhí)行下面的語句:
bash會(huì)在用戶登錄時(shí),讀取下列四個(gè)環(huán)境配置文件:
全局環(huán)境變量設(shè)置文件: /etc/profile 、 /etc/bashrc 。 用戶環(huán)境變量設(shè)置文件: ~/.bash_profile 、 ~/.bashrc 。
讀取順序:① /etc/profile 、② ~/.bash_profile 、③ ~/.bashrc 、④ /etc/bashrc 。
2 .bashrc 和 .bash_profile 的區(qū)別
.bash_profile 會(huì)用在登陸shell, .bashrc 使用在交互式非登陸 shell 。簡(jiǎn)單說來,它們的區(qū)別主要是 .bash_profile 是在你每次登錄的時(shí)候執(zhí)行的; .bashrc 是在你新開了一個(gè)命令行窗口時(shí)執(zhí)行的。
當(dāng)通過控制臺(tái)進(jìn)行登錄(輸入用戶名和密碼):在初始化命令行提示符的時(shí)候會(huì)執(zhí)行.bash_profile 來配置你的shell環(huán)境。但是如果已經(jīng)登錄到機(jī)器,在Gnome或者是KDE也開了一個(gè)新的終端窗口(xterm),這時(shí),.bashrc會(huì)在窗口命令行提示符出現(xiàn)前被執(zhí)行。當(dāng)你在終端敲入/bin/bash時(shí).bashrc也會(huì)在這個(gè)新的bash實(shí)例啟動(dòng)的時(shí)候執(zhí)行。
所以對(duì)于我自己,我寫了一個(gè) .pathrc 文件
然后在 .bashrc , .zshrc , .bash_profile , /etc/profile 中都加了
下面是 .pathrc 文件
現(xiàn)在,當(dāng)你從控制臺(tái)登錄機(jī)器的時(shí)候,.bashrc就會(huì)被執(zhí)行。
四、常用的環(huán)境變量
BASH Bash Shell的全路徑
CDPATH 用于快速進(jìn)入某個(gè)目錄。
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當(dāng)前用戶主目錄
HISTSIZE 歷史記錄數(shù)
LOGNAME 當(dāng)前用戶的登錄名
HOSTNAME 指主機(jī)的名稱
SHELL 當(dāng)前用戶Shell類型
LANGUGE 語言相關(guān)的環(huán)境變量,多語言可以修改此環(huán)境變量
MAIL 當(dāng)前用戶的郵件存放目錄
PS1 基本提示符,對(duì)于root用戶是#,對(duì)于普通用戶是$
Reference
[1] /etc/profile、/etc/bashrc、 /.bash_profile、 /.bashrc
[2] Linux如何修改env看到的環(huán)境變量? .bashrc和.bash_profile區(qū)別
[3] linux環(huán)境變量,bashrc與bashprofile
一、創(chuàng)建linux維護(hù)用戶
登錄root用戶
創(chuàng)建新用戶
useradd 新用戶名
設(shè)置用戶密碼
passwd 新用戶密碼
二、安裝jdk和配置環(huán)境變量
建議在root用戶下直接安裝jdk,并直接配置環(huán)境變量,同時(shí)給非root用戶設(shè)置讀和執(zhí)行權(quán)限
解壓包
tar xvf jdk包名.tar
配置全局變量
編輯/etc/profile文件
vi /etc/profile
按I鍵,切換成編輯模式。
在文件未加入一下配置
export JAVA_HOME=jdk的解壓文件目錄
export JRE_HOME=jdk的解壓文件目錄/jre
export?CLASSPATH=.:${JAVA_HOME}/lib:${?JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${?JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
保存并退出
Esc ??
:wq
重載配置文件使其生效
source /etc/profile
檢查是否安裝成功
Javac
Java version
權(quán)限修改
讀4寫2執(zhí)行1,順序所有者、組成員、其他用戶
Chomd ?755 ?jdk的解壓文件目錄
三、安裝tomcat
安裝tomcat和放入war包使用非root的維護(hù)用戶
如果使用root安裝的話記得設(shè)置權(quán)限。( chomd -r 外層文件目錄 )
su - 用戶名
1、解壓包
tar ?xvf ?tomcat包名.tar
2、將war包放入tomcat/webapps目錄下
3、Tomcat啟動(dòng)服務(wù)和停止服務(wù)
查看進(jìn)程
ps -ef | grep java
啟動(dòng)應(yīng)用
Tomcat bin目錄下.startup.sh
停止應(yīng)用
建議使用
Kill -9 進(jìn)程號(hào)
注:解壓出應(yīng)用文件后,注意配置信息的修改
四、IBM MQ部署 (7.5之后的版本)
(以下是使用9.0版本的正確部署命令)
一、 卸載舊版本IBM MQ (可選)
因?yàn)椴渴瓠h(huán)境沒有安裝過mq,卸載這部分命令我沒有親自測(cè)試過
設(shè)置環(huán)境
以用戶身份登錄到組mqm,找到mq的安裝位置 /opt/mqm
source ./setmqenv -s
查看隊(duì)列管理器的狀態(tài)
dspmq -o installation
停止與要卸載的安裝關(guān)聯(lián)的所有正在運(yùn)行的隊(duì)列管理器
endmqm SXRECV
停止與隊(duì)列管理器關(guān)聯(lián)的所有偵聽器。
endmqlsr -m SXRECV
查看系統(tǒng)上當(dāng)前安裝的軟件包(組件)
sudo rpm -qa | grep MQSeries
列出軟件包并一次性卸載
sudo rpm -qa | grep MQSeries | xargs rpm -ev
再將對(duì)應(yīng)的用戶及安裝目錄給刪除
rm -rf /opt/mqm
userdel -r mqm
檢查MQ license
license文件在安裝目錄中 /opt/mqm/lib 可以找到
amqtcert.lic - is a trial license
amqbcert.lic - is a beta license
amqpcert.lic - is the production license
——————————————————————————————————————
二、安裝新版本ibm mq
解壓,解壓文件都在MQServer中
tar –xzvf IBM_MQ_9.1.5_LINUX_X86-64.tar.gz
進(jìn)入MQServer文件夾中:
cd MQServer/
運(yùn)行MQ許可證程序
./mqlicense.sh
安裝WebSphere MQ for Linux服務(wù)器(Runtime、SDK 和 Server 軟件包):
rpm -U MQSeriesRuntime-9.1.5-0.x86_64.rpm
rpm -U MQSeriesSDK-9.1.5-0.x86_64.rpm
rpm -U MQSeriesServer-9.1.5-0.x86_64.rpm
安裝WebSphere MQ for Linux客戶機(jī):
rpm -U MQSeriesClient-9.0.0-0.x86_64.rpm
安裝WebSphere MQ樣本程序:
rpm -U MQSeriesSamples-9.0.0-0.x86_64.rpm
創(chuàng)建組和用戶
安裝過程創(chuàng)建了一個(gè)名為mqm的用戶和一個(gè)同樣名為 mqm 的組。設(shè)置一個(gè)密碼來解鎖。
passwd mqm
——————————————————————————————————————
三、 配置
(這部分隊(duì)列管理器、通道、隊(duì)列等根據(jù)實(shí)際情況自行配置)
切換用戶:
su mqm
創(chuàng)建隊(duì)列管理器
使用crtmqm命令來創(chuàng)建一個(gè)名為 SXRECV
的隊(duì)列管理器。我們把它作為缺省隊(duì)列,并且將不在創(chuàng)建時(shí)指定死信隊(duì)列。然后使用strmqm命令啟動(dòng)隊(duì)列管理器。
crtmqm -q ?SXRECV
strmqm ?SXRECV
——————
如果執(zhí)行crtmqm命令時(shí)提示
-bash-3.2$ crtmqm
-bash: crtmqm: command not found
find / -name crtmqm
則需要配置mqm用戶的環(huán)境變量,編輯如下文件,并添加下面的內(nèi)容,如下:
第一種方法:相對(duì)第二種較安全僅對(duì)mqm用戶有效
方法一:
(1) -bash-3.2$ vi /var/mqm/.bash_profile --有可能會(huì)在文件夾下看不到這個(gè)文件,通過編輯即可看到
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
(2)執(zhí)行“.”命令,使這個(gè)文件生效
-bash-3.2$ source ?.bash_profile
(3)再次嘗試實(shí)行crtmqm或是dspmqm命令,即可發(fā)現(xiàn)已經(jīng)生效。
方法二:
( 1)
su ?root
[if !supportLists](2)[endif]
vim /etc/profile
[if !supportLists](3)[endif] 在最后面加上:
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/bin
( 4)關(guān)閉遠(yuǎn)程終端重新打開,無需重啟服務(wù)器
——————
運(yùn)行隊(duì)列管理器
runmqsc SXRECV
創(chuàng)建通道和隊(duì)列
DEFINE QLOCAL (XYDATA) REPLACE USAGE (NORMAL) DEFPSIST (YES) MAXDEPTH (300000) DESCR('興業(yè)銀行')
DEFINE QLOCAL (XYTRANS) REPLACE USAGE (XMITQ) DEFPSIST (YES) MAXDEPTH (300000) DESCR('興業(yè)銀行')
DEFINE QREMOTE (XYACK) REPLACE DEFPSIST (YES) RQMNAME (SXSEND) ?RNAME (XYACK) XMITQ (XYTRANS) DESCR('XXXX')
DEFINE CHANNEL (XYDATA) CHLTYPE (RCVR) TRPTYPE (TCP) REPLACE DESCR('XXXX')
DEFINE CHANNEL (XYACK) CHLTYPE (SDR) CONNAME ('166.1.1.8(2214)') XMITQ (XYTRANS) TRPTYPE (TCP) DISCINT (0) CONVERT (NO) SHORTRTY (30) SHORTTMR (10) LONGRTY (999999999) LONGTMR (20) REPLACE DESCR('XXXX')
DEFINE CHANNEL (SVRCONN) CHLTYPE (SVRCONN) MCAUSER('mqm')
創(chuàng)建監(jiān)聽
DEFINE LISTENER (RECLISTENER) TRPTYPE (TCP) CONTROL(QMGR) PORT (2214)
啟動(dòng)監(jiān)聽
start LISTENER(RECLISTENER)
啟動(dòng)通道
start channel(SVRCONN)
start channel(XYDATA)
start channel(XYACK)
———————————————————————————————————————————————————
四、2035錯(cuò)誤碼 說明
如果程序連接mq報(bào)錯(cuò)2035,則需要對(duì)權(quán)限認(rèn)證做設(shè)置,則進(jìn)行以此操作
1、
ALTER QMGR CHLAUTH(DISABLED)
2、
ALTER CHL(通道名) CHLTYPE(SVRCONN) MCAUSER('mqm')
3、
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
或者直接將連接認(rèn)證選項(xiàng)置為空,將其完全關(guān)閉,指令如下:
ALTER QMGR CONNAUTH('')
在執(zhí)行完上述兩條命令中的任一條后,都需要刷新連接認(rèn)證的緩存,指令如下:
REFRESH SECURITY TYPE(CONNAUTH)
五、mq操作命令
一、MQ的啟動(dòng)與停止
1、MQ的啟動(dòng)
strmqm QMgrName
如果啟動(dòng)默認(rèn)隊(duì)列管理器,strmqm后可以忽略隊(duì)列管理器名稱。
2、MQ的關(guān)閉
endmqm?-i?QMgrName
停止mq
二、MQ運(yùn)行狀態(tài)查看與常用操作
1、 查看隊(duì)列管理器運(yùn)行狀態(tài)
su mqm
執(zhí)行如下命令檢查隊(duì)列管理器運(yùn)行狀態(tài):dspmq顯示結(jié)果中QMNAME表示MQ隊(duì)列管理器的名稱,STATUS表示當(dāng)前運(yùn)行狀態(tài)。運(yùn)行狀態(tài)有如下幾種:Starting正在啟動(dòng)Running正在運(yùn)行Ending正在停止Ended normally已經(jīng)正常終止Ended immediately已經(jīng)立即終止Ended preemtively已經(jīng)強(qiáng)制終止Ended unexpectively異常終止
注意:停止MQ后必須使用dspmq命令進(jìn)行狀態(tài)檢查
2、查看通道運(yùn)行狀態(tài)與啟停通道
runmqsc
dis chl(*);查看所有通道定義
dis chs(*);查看所有通道狀態(tài),如果沒有查詢到通道狀態(tài),或報(bào)錯(cuò)AMQ8420: Channel Status not found,請(qǐng)啟動(dòng)通道
dis chs(ChannelName); 查看通道ChannelName的狀態(tài)
通道狀態(tài)有如下幾種:
STARTING正在啟動(dòng)BINDING正在綁定INITIALIZING正在初始化RUNNING正常STOPPING?正在停止RETRYING重試PAUSED等待STOPPED已停止REQUESTING請(qǐng)求
start?chl(ChannelName);啟動(dòng)通道
stop?chl(ChannelName);停止通道
* 重置通道
reset channel(ChannelName);?重置通道序號(hào)。當(dāng)本地與其他MQ隊(duì)列管理器的通道無法正常啟動(dòng)的情況,檢查日志發(fā)現(xiàn)是通道序號(hào)不一致,此時(shí)就需要先停止發(fā)送方通道,清空隊(duì)列深度并在發(fā)送方和接收方進(jìn)行通道計(jì)數(shù)的重置,重置后啟動(dòng)通道即可恢復(fù)通訊。
注意:重置成功mq序列號(hào)一般相同或相差1
3、查看通道監(jiān)聽狀態(tài)與啟停監(jiān)聽
runmqsc
dis listner(*);查看通道監(jiān)聽定義
dis lsstatu(listnerName);查看監(jiān)聽狀態(tài)
start?lstr(listnerName); 啟動(dòng)監(jiān)聽
stop?lstr(listnerName); 停止監(jiān)聽?
4、查看隊(duì)列深度
runmqsc
dis q(*);查看所有各類隊(duì)列的屬性
dis?qlocal(QName);查看所有本地隊(duì)列的屬性
隊(duì)列深度屬性為:CURDEPTH
查看隊(duì)列深度display ql('隊(duì)列名') ?curdepth
*清空隊(duì)列深度
清空隊(duì)列深度
clear ql(‘隊(duì)列名’)
三、MQ發(fā)送和接收消息
su mqm
發(fā)送消息
amqsput ?隊(duì)列名 ?隊(duì)列管理器
獲取消息
amqsget ?隊(duì)列名 ?隊(duì)列管理器
可通過配合查看隊(duì)列深度命令,完成mq的聯(lián)調(diào)
六、其他維護(hù)中常用linux命令
1、測(cè)試端口連接
telnet ip port
2、查看已啟動(dòng)的端口
netstat -an | grep 端口號(hào)
3、查看應(yīng)用進(jìn)程
ps -ef |grep java
4、修改權(quán)限
chomd ?XXX(對(duì)應(yīng)的權(quán)限) ?文件目錄
5、修改文件或目錄下所有文件所有者和組
Chomd -R 用戶名:組名 ?文件目錄
6、查看目錄內(nèi)容
ls 或者ls -l (簡(jiǎn)寫ll)
7、查看文件輸出
cat 目錄/文件名
或者
Vi 目錄/文件名 按i可進(jìn)入編輯
按 G 到文檔末尾
按 gg 到文件首行
不保存退出
Esc ??:q!
保存退出
Esc ??:wq
vi 進(jìn)入文檔文檔后查找關(guān)鍵字
Esc 進(jìn)入命令行
/關(guān)鍵字
按n向下繼續(xù)查找
按N向上繼續(xù)查找
8、殺進(jìn)程
Kill -9 進(jìn)程號(hào)
9、復(fù)制
cp -r 源目錄 ?目標(biāo)目錄
10、移動(dòng)
mv ?-i 源文件或目錄 目標(biāo)文件或目錄
11、刪除
rm -R 文件目錄
12、 切換工作目錄
cd ?相對(duì)路徑或絕對(duì)路徑
~也表示為 home 目錄 的意思, . 則是表示目前所在的目錄, .. 則表示目前目錄位置的上一層目錄。
/etc/profile和/etc/bashrc都是系統(tǒng)級(jí)別的,修改后可以在所有用戶中起作用; /.bash_profile、 /.bashrc和~/.bash_logout都是用戶級(jí)別的,修改后只會(huì)作用于當(dāng)前用戶。
帶profile的文件都是需要重新進(jìn)入用戶時(shí)才會(huì)生效,帶bashrc的則是打開新的shell時(shí)生效;
執(zhí)行順序:/etc/profile - (~/.bash_profile | ~/.bash_login | ~/.profile) - ~/.bashrc - /etc/bashrc - ~/.bash_logout
$ echo $HOME
$ export HELLO="Hello"
$ env
¥ set
readonly TEST
之前介紹的使用 export 命令設(shè)置環(huán)境變量是在命令行中直接執(zhí)行,這樣設(shè)置的環(huán)境變量在退出shell時(shí)就會(huì)失效。要想設(shè)置永久有效的環(huán)境變量就需要修改之前提到的文件。
PATH=$PATH:PATH 1:PATH 2:PATH 3:------:PATH N
你可以自己加上指定的路徑,中間用冒號(hào)隔開
需要注意的是,最好不要把當(dāng)前路徑”./”放到PATH里,這樣可能會(huì)受到意想不到的攻擊。
特點(diǎn):所有用戶;永久有效;生效需要重新進(jìn)入用戶
root權(quán)限:
要想修改完文件后就立即生效,可以在命令行中執(zhí)行:
# source /etc/profile
Source命令也稱為“點(diǎn)命令”,也就是一個(gè)點(diǎn)符號(hào)(.)。source命令通常用于重新執(zhí)行剛修改的初始化文件,使之立即生效,而不必注銷并重新登錄
linux設(shè)置環(huán)境變量方法:
1、打開linux終端命令窗口,輸入如下命令:
export
path=$path:/usr/local/matlab/r2013b/bin
為了驗(yàn)證是否修改成功可以再繼續(xù)輸入命令eport進(jìn)行查看。在下圖中可以看到成功添加了matlab的環(huán)境變量。
2、上面修改后如果退出終端并重新打開再次查看環(huán)境變量時(shí)就會(huì)發(fā)現(xiàn)上面添加的環(huán)境變量又消失了。
linxu下的set命令是用來設(shè)置各種shell選項(xiàng)或者列出shell變量。下面由我為大家整理了linux的set命令的詳細(xì)解釋的相關(guān)知識(shí),希望對(duì)大家有幫助!
一、Linux中的set命令的詳細(xì)解釋
功能說明:設(shè)置shell。
語法:set [+-abCdefhHklmnpPtuvx]
補(bǔ)充說明:用set 命令可以設(shè)置各種shell選項(xiàng)或者列 出shell變量.單個(gè)選項(xiàng)設(shè)置常用的特性.在某些選項(xiàng)之后-o參數(shù)將特殊特性打開.在某些選項(xiàng)之后使用+o參數(shù)將關(guān)閉某些特性,不帶任何參數(shù)的set命 令將顯示shell的全部變量.除非遇到非法的選項(xiàng),否則set總是返回ture.
參數(shù):
allexport -a 從設(shè)置開始標(biāo)記所有新的和修改過的用于輸出的變量
braceexpand -B 允許符號(hào)擴(kuò)展,默認(rèn)選項(xiàng)
emacs 在進(jìn)行命令編輯的時(shí)候,使用內(nèi)建的emacs編輯器, 默認(rèn)選項(xiàng)
errexit -e 如果一個(gè)命令返回一個(gè)非0退出狀態(tài)值(失敗),就退出.
histexpand -H 在做臨時(shí)替換的時(shí)候允許使用!和!! 默認(rèn)選項(xiàng)
history 允許命令行歷史,默認(rèn)選項(xiàng)
ignoreeof 禁止coontrol-D的方式退出shell,必須輸入exit。
interactive-comments 在交互式模式下, #用來表示注解
keyword -k 為命令把關(guān)鍵字參數(shù)放在環(huán)境中
monitor -m 允許作業(yè)控制
noclobber -C 保護(hù)文件在使用重新動(dòng)向的時(shí)候不被覆蓋
noexec -n 在腳本狀態(tài)下讀取命令但是不執(zhí)行,主要為了檢查語法結(jié)構(gòu)。
noglob -d 禁止路徑名擴(kuò)展,即關(guān)閉通配符
notify -b 在后臺(tái)作業(yè)以后通知客戶
nounset -u 在擴(kuò)展一個(gè)沒有的設(shè)置的變量的時(shí)候, 顯示錯(cuò)誤的信息
onecmd -t 在讀取并執(zhí)行一個(gè)新的命令后退出
physical -P 如果被設(shè)置,則在使用pwd和cd命令時(shí)不使用符號(hào)連接的路徑 而是物理路徑
posix 改變shell行為以便符合POSIX要求
privileged 一旦被設(shè)置,shell不再讀取.profile文件和env文件 shell函數(shù)也不繼承任何環(huán)境
verbose -v 為調(diào)試打開verbose模式
vi 在命令行編輯的時(shí)候使用內(nèi)置的vi編輯器
xtrace -x 打開調(diào)試回響模式
二、Linux中的set命令詳解實(shí)例
顯示環(huán)境變量
# set
BASH=/bin/bash
BASH_ARGC=()
BASH_ARGV=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="3" [1]="00" [2]="15" [3]="1" [4]="release" [5]="i386-redhat-linux-gnu")
BASH_VERSION='3.00.15(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=99
DIRSTACK=()
EUID=0
GROUPS=()
G_BROKEN_FILENAMES=1
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/root
HOSTNAME=hnlinux
HOSTTYPE=i386
IFS=$' '
INPUTRC=/etc/inputrc
KDEDIR=/usr
LANG=zh_CN.GB2312
LESSOPEN='|/usr/bin/lesspipe.sh %s'
LINES=34
L
MAIL=/var/spool/mail/root
MAILCHECK=60
OLDPWD=/home/uptech
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/opt/crosstools/gcc-3.4.6-glibc-2.3.6/bin
PIPESTATUS=([0]="2")
PPID=26005
PROMPT_COMMAND='echo -ne "
三、Linux的set命令的相關(guān)擴(kuò)展
set、env、export——Linux中的環(huán)境變量命令
Linux是一個(gè)多用戶的操作系統(tǒng)。每個(gè)用戶登錄系統(tǒng)后,都會(huì)有一個(gè)專用的運(yùn)行環(huán)境。通常每個(gè)用戶默認(rèn)的環(huán)境都是相同的,這個(gè)默認(rèn)環(huán)境實(shí)際上就是一組環(huán)境 變量的定義。用戶可以對(duì)自己的運(yùn)行環(huán)境進(jìn)行定制,其方法就是修改相應(yīng)的系統(tǒng)環(huán)境變量。
什么是環(huán)境變量
環(huán)境變量是一個(gè)具有 特定名字的對(duì)象,它包含了一個(gè)或者多個(gè)應(yīng)用程序所將使用到的信息。許多用戶(特別是那些剛接觸Linux的新手)發(fā)現(xiàn)這些變量有些怪異或者難以控制。其 實(shí),這是個(gè)誤會(huì):通過使用環(huán)境變量,你可以很容易的修改一個(gè)牽涉到一個(gè)或多個(gè)應(yīng)用程序的配置信息。
常見的環(huán)境變量
對(duì)于 PATH和HOME等環(huán)境變量大家都不陌生。
PATH能夠指定命令的搜索路徑,那么動(dòng)態(tài)鏈接庫的路徑用什么變量指定呢?或者就是在 PATH里面?
比如有一個(gè)程序需要/usr/local/lib下面的一個(gè)庫文件,應(yīng)該怎么指定其路徑呢?
經(jīng)??吹接行┳兞咳?LD_LIBRARY_PATH,LIBPATH,CLASSPATH等,他們之間有什么不同和關(guān)系?
除此之外,還有下面一些常見環(huán)境變 量。
◆ HISTSIZE是指保存歷史命令記錄的條數(shù)。
◆ LOGNAME是指當(dāng)前用戶的登錄名。
◆ HOSTNAME是指主機(jī)的名稱,許多應(yīng)用程序如果要用到主機(jī)名的話,通常是從這個(gè)環(huán)境變量中來取得的。
◆ SHELL是指當(dāng)前用戶用的是哪種Shell。
◆ LANG/LANGUGE是和語言相關(guān)的環(huán)境變量,使用多種語言的用戶可以修改此環(huán)境變量。
◆ MAIL是指當(dāng)前用戶的郵件存放目錄。
◆ PS1是基本提示符,對(duì)于root用戶是#,對(duì)于普通用戶是$。PS2是附屬提示符,默認(rèn)是“”??梢酝ㄟ^修改此環(huán)境變量來修改當(dāng)前的命令符,比 如下列命令會(huì)將提示符修改成字符串“Hello,My NewPrompt ”。