Unix、Linux下shell配置文件之間的區別

以下內容來自博客:http://www.ochef.net/category/script

隨着在Unix和Linux平臺下工作的時間越長,不同種類的shell繁多,感覺對shell的認識由清晰開始變得模糊,所以應該趕緊弄清楚它們,shell太重要了。以下內容來自互聯網綜合、整理後的。

.profile:是Bourne Shell (sh)的配置文件,Korn Shell (ksh)兼容sh所以也會使用.profile。

/etc/profile:此文件爲系統的每個用戶設置環境信息,當用戶第一次登錄時該文件被執行,並從/etc/profile.d目錄的配置文件中搜集shell的設置。

.bash_ profile:是bash特有的, 由於bash被設計成兼容sh、ksh並有csh的特徵, 所以會在用戶主目錄依次查找.bash_profile, .bash_login,.profile並用找到的第一個作爲自己的配置文件。

~/.bash_profile:每個用戶都可使用該文件輸入專用於自己使用的shell信息。當用戶登錄時,該文件僅僅執行一次。默認情況下,它設置一些環境變量,執行用戶的.bashrc文件。

.login 是C Shell (csh) 的配置文件。

在Linux下sh是bash的一個鏈接, 如果bash使用sh命令啓動的, 就會以sh兼容方式運行使用.profile,可用man bash命令查看更詳細的解釋。

/etc/bashrc:爲每一個運行bash shell的用戶執行此文件,當bash shell被打開時,該文件被讀取。

~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取。

~/.bash_logout:當每次退出系統(退出bash shell)時,執行該文件。另外,/etc/profile中設定的變量(全局)的可以作用於任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,它們是”父子”關係。

~/.bash_profile:是交互式、login 方式進入 bash 運行的;~/.bashrc 是交互式 non-login 方式進入 bash 運行的。通常二者設置大致相同,所以通常前者會調用後者。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章