Linux下環境變量(.bash_profile和.bashrc的區別)


在linux系統下,如果下載並安裝了應用程序,在啟動時很有可能在鍵入它的名稱時出現"command not found"的提示內容。如果每次都到安裝目標文件夾內,找到可執行文件
來進行操作就太繁瑣了,這種情況下就涉及到環境變量PATH的設置問題,而PATH的設置也是在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變量出錯。

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的區別:

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 中的變量,他們是 "父子" 關系.

=========================設置終端登錄超時時間================

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分鍾內不做操作,則該終端就將失效!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM