首頁 > 系統教程 > Linux > 互動式shell和profile的差別,你知道嗎?

互動式shell和profile的差別,你知道嗎?

WBOY
發布: 2024-02-14 16:09:02
轉載
890 人瀏覽過

轉自:/u010127245/article/details/51689636

bashrc與profile的差異

bashrc與profile的差別,首先要弄清楚哪些是互動式shell和非互動式shell,哪些是loginshell和non-loginshell。

互動模式就是shell等待你的輸入,但執行你遞交的指令。這些模式被叫做互動式是由於shell與使用者互動。這些模式也是大多數使用者特別熟悉的:登陸、執行一些指令、簽署。當你簽後退,shell也中止了。

shell也可以運行在另一個模式:非互動模式。在這些模式下,shell不與你進行交互android linux,而是讀取儲存在文件中的命令,但是執行它們。當它讀到檔案的結尾,shell也就中止了。

bashrc與profile都用於保存使用者的環境訊息,bashrc用於互動式non-loginshelllinux安裝交叉編譯環境變數,而profile則用於互動式loginshell。系統中存在許多bashrc和profile文件,下邊逐一介紹:

/etc/pro此檔案為系統的每位使用者設定環境資訊,當第一個使用者登入時,該檔案被執行.

並從/etc/profile.d目錄的設定檔中蒐集shell的設定.

/etc/bashrc:為每一個執行bashshell的使用者執行此檔案.當bashshell被開啟時,該檔案被讀取。有些linux版本中的/etc目錄下早已沒有了bashrc檔。

~/.pro每位使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該

檔案只執行一次!預設情況下,它設定一些環境變數,之後執行使用者的.bashrc檔案.

~/.bashrc:該檔案包含專用於某個使用者的bashshell的bash資訊,當該使用者登入時以及每次開啟新的shell時,該檔案被讀取.

另外,/etc/profile中設定的變數(全域)的可以作用於任何使用者,而~/.bashrc等設定的變數(局部)只能承繼/etc/profile中的變數,她們是"兄妹"關係.

總結:

交叉编译环境变量如何设置_交叉编译环境搭建步骤_linux安装交叉编译环境变量

#/etc/profile,/etc/bashrc是系統全域環境變數設定

~/.profile,~/.bashrc用戶家目錄下的私有環境變數設定

當登入系統時侯取得一個shell進程時,其讀取環境設定檔有三步驟

1首先讀入的是全域環境變數設定檔/etc/profile,之後依照其內容讀取額外的設定的文檔,如

/etc/profile.d和/etc/inputrc

##2之後依照不同使用者帳號,去其家目錄讀取~/.bash_profile,倘若這讀取不了就讀取~/.bash_login,這個也讀取不了才能讀取

linux安装交叉编译环境变量_交叉编译环境搭建步骤_交叉编译环境变量如何设置

#

~/.profile,這三個文件設定基本上是一樣的,讀取有優先關係

3之後在依照用戶帳號讀取~/.bashrc

至於~/.profile與~/.bashrc的不區別

都具有個人化訂位功能

~/.profile可以設定本用戶專有的路徑linux系統裝win7,環境變量,等,它只能登陸的時侯執行一次

~/.bashrc也是某用戶專有設定文檔,可以設定路徑,命令別稱,每次shellscript的執行就會使用它一次

【環境變數配置的三種方式】

如想將一條路徑加入$PATH中,可以像下邊這樣做:

1.控制台北,不同意使用這些技巧,由於換個shelllinux安裝交叉編譯環境變數,你的設定就無效了,因而這些方式僅僅是臨時使用,之後要使用的時侯又要重新設置,比較麻煩。這個只針對特定的shell;

$PATH="$PATH:/my_new_path"(關掉shell,會還原PATH)

2.

更改/etc/profile檔,假如你的電腦僅作為開發使用時推薦使用這些技巧,由於所有用戶的shell都有權使用這種環境變量,可能會給系統帶來安全性問題。 (JDK配置推薦)

這兒是針對所有的使用者的,所有的shell;

$vi/etc/profile在上面加入:

exportPATH="$PATH:/my_new_path"

3.

更改.bashrc檔,這些技巧比較安全,它可以把使用這種環境變數的權限控製到用戶級別,這兒是針對某一個特定的用戶,假如你須要給某個用戶權限使用這種環境變量,你只須要更改其個人用房主目錄下的.bashrc檔案就可以了。

$vi/root/.bashrc在上面加入:

exportPATH="$PATH:/my_new_path"

後兩種方式通常必須重新登出系統才會生效(可以直接使用$source~/.profile刷新來防止重啟),最後可以透過echo指令測試一下:

$echo$PATH輸出早已是新路徑了。

以上是互動式shell和profile的差別,你知道嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:itcool.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板