.bash_profile和.bashrc的區別

Linux下環境變量配置方法梳理(.bash_profile和.bashrc的區別)html

 在linux系統下,若是下載並安裝了應用程序,在啓動時頗有可能在鍵入它的名稱時出現"command not found"的提示內容。若是每次都到安裝目標文件夾內,找到可執行文件

來進行操做就太繁瑣了,這種狀況下就涉及到環境變量PATH的設置問題,而PATH的設置也是在linux下定製環境變量的一個組成部分。mysql

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

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

[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

/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

遠程登陸linux服務器,如何設置終端失效時間(即過了多久不操做,終端即將失效)。方法以下:
[root@mq-console-nameserver ~]# vim /etc/profile
......
export TMOUT=600
[root@mq-console-nameserver ~]# source /etc/profile

如上設置後,登陸這臺服務器的終端在10分鐘內不作操做,則該終端就將失效!轉自:https://www.cnblogs.com/kevingrace/p/8072860.html
相關文章
相關標籤/搜索