Debian中几个bash初始化脚本使用区别--【转载】
linux系統當中的默認shell程序是bash.
我們經常需要對shell進行一些的配置,比如對于自己編譯的程序,需要給全局變量PATH增加路徑,又比如我們想定制我們的linux系統,使得每次在我們登錄系統或者離開系統時,會自動的執行一些我們希望執行的程序。
這就需要“bash配置文件”的幫助。
需要了解一下下面的幾個概念
—>在Debian系統中,有下面的幾個bash初始化文件:
/etc/bash.bashrc—>系統級的新開bash時執行的文件
/etc/profile—>系統級的登錄時執行的文件
~/.bashrc—>個人可以配置的新開bash時執行的文件
~/.profile—>個人可以配置的登錄時執行的文件
—>對于bash的使用,有下面兩種分類方式:
A.
需要登錄的shell–>例如使用終端或者使用ssh登錄系統時,需要輸入用戶名和密碼來登錄shell.
不需要登錄的shell–>例如在登錄到X系統之后,在桌面環境下打開一個虛擬終端,就不需要數據用戶名密碼,直接能夠登錄shell.
B.
需要交互的shell–>正常的在登錄系統的情況下,需要人和計算機交互,輸入命令,接收輸出.
不需要交互的shell–>不需要人和機器交互.如在使用cron工具的時候執行的shell腳本就不需要人跟計算機進行交互.
—>使用bash初始化文件的作用:
設定全局變量名,如PATH等
設定prompt的表現形式
設定alias
執行一些我們在登錄系統/離開系統,打開bash/關閉bash時希望自動運行的程序命令
下面就總結一下在不同的分類方式下使用到的bash初始化文件:
需要登錄的情況下:/etc/profile—>~/.profile.其中/etc/profile僅僅在登錄系統時執行一次,~/.profile可以不存在,且~/.profile中的重復設置會覆蓋原先的/etc/profile的設置.需要注意的是,這兩個文件只在用戶登錄系統的時候會被source到,一旦用戶登錄到了系統,而且之后比如又敲入bash等命令重新啟動shell的話,此時這兩個文件并不會被source。
不需要登錄的情況下:/etc/bash.bashrc—>~/.bashrc.其中~/.bashrc可以不存在.每當新打開一個bash的時候,這兩個文件都會被source一遍.且后面的設置有可能覆蓋前面的設置.
無交互情況下:以上腳本都不source,如果系統中有全局變量ENV的定義,那么則source定義為ENV的文件.
轉載于:https://www.cnblogs.com/lege/p/4235663.html
總結
以上是生活随笔為你收集整理的Debian中几个bash初始化脚本使用区别--【转载】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS APP配置.plist汇总(转自
- 下一篇: [BZOJ2730][HNOI2012]