bashrc與profile的區別mysql
要搞清bashrc與profile的區別,首先要弄明白什麼是交互式shell和非交互式shell,什麼是loginshell 和non-login shell。sql
交互式模式就是shell等待你的輸入,而且執行你提交的命令。這種模式被稱做交互式是由於shell與用戶進行交互。這種模式也是大多數用戶很是熟悉的:登陸、執行一些命令、簽退。當你簽退後,shell也終止了。shell
shell也能夠運行在另一種模式:非交互式模式。在這種模式下,shell不與你進行交互,而是讀取存放在文件中的命令,而且執行它們。當它讀到文件的結尾,shell也就終止了。vim
bashrc與profile都用於保存用戶的環境信息,bashrc用於交互式non-loginshell,而profile用於交互式loginshell。系統中存在許多bashrc和profile文件,下面逐一介紹:windows
/etc/bashrc,用戶目錄下.bashrc有什麼區別? 安全
一個是針對整個系統全部用戶的,一個是針對特定用戶的./etc/bashrc修改了之後要重啓系統才生效,而用戶目錄下.bashrc修改了之後從新登陸就生效 bash
2。/etc/profile與/etc/bashrc的區別? ssh
前一個主要用來設置一些系統變量,好比JAVA_HOME等等,後面一個主要用來保存一些bash的設置. ide
/etc/profile:此文件爲系統的每一個用戶設置環境信息,當用戶第一次登陸時,該文件被執行.測試
並從/etc/profile.d目錄的配置文件中搜集shell的設置.
/etc/bashrc:爲每個運行bashshell的用戶執行此文件.當bash shell被打開時,該文件被讀取.
~/.bash_profile:每一個用戶均可使用該文件輸入專用於本身使用的shell信息,當用戶登陸時,該
文件僅僅執行一次!默認狀況下,他設置一些環境變量,執行用戶的.bashrc文件.
~/.bashrc:該文件包含專用於你的bashshell的bash信息,當登陸時以及每次打開新的shell時,該
該文件被讀取.
~/.bash_logout:當每次退出系統(退出bashshell)時,執行該文件.
另外,/etc/profile中設定的變量(全局)的能夠做用於任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關係.
~/.bash_profile是交互式、login 方式進入 bash 運行的
~/.bashrc是交互式 non-login 方式進入 bash 運行的
一般兩者設置大體相同,因此一般前者會調用後者。
.bash_profile文件在經過控制檯(或遠程登陸, 好比ssh)登陸(login)系統的時候被執行的shell腳本.
而 .bashrc則是在打開虛擬終端的時候纔會起做用,好比在GNOME,KDE中執行rxvt.
通俗的理解
~/.bash_profile是交互式、login 方式進入 bash 運行的
~/.bashrc是交互式 non-login 方式進入 bash 運行的
【環境變量配置的緣由】
在windows系統下,不少軟件的安裝都須要設置環境變量,如安裝Mysql、若是不設置環境變量,在非軟件的安裝目錄下運行mysql命令,將會報告找不到文件類的錯誤。
那麼、什麼是環境變量呢?通俗的說,就是指定一個目錄、運行軟件的時候,相關的程序會到該目錄尋找相關的文件。
設置變量對於通常人最實用的功能就是:須要找某些執行程序或執行某些shell腳本的時候,不用去到該目錄下中執行、系統中的PATH路徑會幫你完成搜索查找的功能,通俗的說法就是,只要你的目錄在PATH路徑中,都屬於環境變量,執行任何東西PATH都會幫你找到。
在Linux系統中,若是你下載並安裝了應用程序,頗有可能在鍵入執行名稱時出現「command not found"命令找不到的提示內容,若是每次都到安裝程序目錄內,找到可執行文件,那個就太煩躁,
這就涉及到環境變量設置的問題了
【Linux 配置環境變量的三個方法】
若是想將一個路徑加入到$PATH中方法有下面三種
1、shell中設置環境變量,不過不同意這種方法,由於換個shell或重啓shell你的設置就無效了,只
能臨時使用
配置例子以下
$PATH="$PATH:/新的路徑名稱" (關閉shell,配置失效)
2、修改/etc/profile文件,若是你的計算機沒有用在重要的辦公環境中,只是用來作一些測試、能夠
使用這個方法,若是不是不推薦使用這種方法,由於這種方法系統裏面全部的用戶都能使用這個環
境變量,會給系統帶來安全性問題
配置方法以下
vim /etc/profile
在這個配置文件裏面加入
export PATH="$PATH:/新的路徑" (這個配置方法系統全部的用戶均可能使用這個變量)
3、修改用戶的 ".bashrc"文件,這種方法是針對用戶級別的相對比較安全,若是要給某個用戶使用環境
變量直接修改用戶主目錄下的 ".bashrc"文件夾便可
配置方法以下
vim ~/.bash_profile
在這個文件裏面加入
exportPATH="$PATH"/新的路徑"
後面的兩種方法須要從新啓動西東才能生效或者輸入全部用戶變量source /etc/profile,
單個用戶suorce~/.bash_profile
QQ交流羣:11511420