1. 程式人生 > >.bash_profile和.bashrc的區別

.bash_profile和.bashrc的區別

可執行文件 color 輸出 即將 mman bashrc tro 內容 應用

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

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

來進行操作就太繁瑣了,這種情況下就涉及到環境變量PATH的設置問題,而PATH的設置也是在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變量出錯。

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

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

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

遠程登錄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

.bash_profile和.bashrc的區別