Linux 環境變量

在linux系統下,若是下載並安裝了應用程序,在啓動時頗有可能在鍵入它的名稱時出現"command not found"的提示內容。若是每次都到安裝目標文件夾內,找到可執行文件
來進行操做就太繁瑣了,這種狀況下就涉及到環境變量PATH的設置問題,而PATH的設置也是在linux下定製環境變量的一個組成部分。mysql

環境變量配置的兩個方法:linux

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1)修改 /etc/profile 文件
推薦使用這種方法,由於全部用戶的shell都有權使用這些環境變量,缺點是可能會給系統帶來安全性問題。 這裏是針對全部的用戶的,全部的shell;
[root@ test ~] # vim /etc/profile
....
export PATH=$PATH: /usr/local/mysql/bin
 
使用 source 命令使修改馬上生效: 
[root@ test ~] # source  /etc/profile
 
2)修改.bashrc文件,這種方法更爲安全,它能夠把使用這些環境變量的權限控制到用戶級別,這裏是針對某一個特定的用戶,若是須要給某個用戶權限
使用這些環境變量,只須要修改其我的用戶主目錄下的.bashrc文件就能夠了。
[root@ test ~] # vim /root/.bashrc
export PATH=$PATH: /usr/local/mysql/bin
 
[root@ test ~] # source  /root/.bashrc

須要注意的是:
在/etc/profile裏設置系統環境變量時,路徑末尾不能以"/"結尾,不然將致使整個PATH變量出錯。sql

1
2
3
4
5
6
7
8
9
10
11
12
[app@ test ~]$ vim ~/.bashrc
......
KETTLE_HOME= /data/nstc/kettle3 .2
export KETTLE_HOME
 
注意:配置好環境變量後,要記得 export 輸出這個變量,不然以下 source 後無效!
[app@ test ~]$ source .bashrc // 使之生效
[app@ test ~]$ echo $KETTLE_HOME
/data/nstc/kettle3 .2
[app@ test ~]$ env
.........
KETTLE_HOME= /data/nstc/kettle3 .2

.bash_profile和.bashrc的區別:shell

1
2
3
4
5
6
7
/etc/profile : 此文件爲系統的每一個用戶設置環境信息,當用戶第一次登陸時,該文件被執行.並從 /etc/profile .d目錄的配置文件中搜集shell的設置.
/etc/bashrc :  爲每個運行 bash shell的用戶執行此文件.當 bash shell被打開時,該文件被讀取.
~/.bash_profile: 每一個用戶均可使用該文件輸入專用於本身使用的shell信息,當用戶登陸時,該文件僅僅執行一次!默認狀況下,他設置一些環境變量,執行用戶的.bashrc文件.
~/.bashrc: 該文件包含專用於你的 bash shell的 bash 信息,當登陸時以及每次打開新的shell時,該該文件被讀取.
~/.bash_logout: 當每次退出系統(退出 bash shell)時,執行該文件.
 
另外, /etc/profile 中設定的變量(全局)的能夠做用於任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承 /etc/profile 中的變量,他們是 "父子" 關係.

=========================設置終端登陸超時時間================vim

1
2
3
4
5
6
7
遠程登陸linux服務器,如何設置終端失效時間(即過了多久不操做,終端即將失效)。方法以下:
[root@mq-console-nameserver ~] # vim /etc/profile
......
export TMOUT=600
[root@mq-console-nameserver ~] # source /etc/profile
 
如上設置後,登陸這臺服務器的終端在10分鐘內不作操做,則該終端就將失效!