与登录shell相关的文件
生活随笔
收集整理的這篇文章主要介紹了
与登录shell相关的文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一般的系統可能會有
/etc/profile
/etc/bashrc
~/.bashrc
~/.bash_profile
profile 是某個用戶唯一的用來設置環境變量的地方, 因為用戶可以有多個 shell 比如 bash, sh, zsh 之類的, 但像環境變量這種其實只需要在統一的一個地方初始化就可以了, 而這就是 profile.
bashrc是專門用來給 bash 做初始化的比如用來初始化 bash 的設置, bash 的代碼補全, bash 的別名, bash 的顏色. 以此類推也就還會有 shrc, zshrc 這樣的文件存在了, 只是 bash 比較常用.
/etc/xxx? 文件里面的內容對所用的用戶都適用
~/.xxx?? 文件里面的內容只適用于個人
login shell:該模式表示用戶登入,比如使用 "su -" 命令, 或者用 ssh 連接到某一個服務器上, 都會使用該用戶默認shell 啟動 login shell 模式.該模式下的 shell 會去自動執行 /etc/profile 和 ~/.profile 文件, 但不會執行任何的 bashrc 文件, 所以一般再 /etc/profile 或者 ~/.profile 里我們會手動去 source bashrc 文件.
no-login shell:該模式是我們在終端下直接輸入 bash 或者 bash -c “CMD” 來啟動的 shell.該模式下是不會自動去運行任何的 profile 文件.
interactive shell:該默認是交互式shell, 就是用來和用戶交互的, 提供了命令提示符可以輸入命令.在這種模式下會存在一個叫 PS1 的環境變量, 如果還不是 login shell 的則會去 source /etc/bash.bashrc 和 ~/.bashrc 文件
non-interactive shell:
/etc/profile
/etc/bashrc
~/.bashrc
~/.bash_profile
profile 是某個用戶唯一的用來設置環境變量的地方, 因為用戶可以有多個 shell 比如 bash, sh, zsh 之類的, 但像環境變量這種其實只需要在統一的一個地方初始化就可以了, 而這就是 profile.
bashrc是專門用來給 bash 做初始化的比如用來初始化 bash 的設置, bash 的代碼補全, bash 的別名, bash 的顏色. 以此類推也就還會有 shrc, zshrc 這樣的文件存在了, 只是 bash 比較常用.
/etc/xxx? 文件里面的內容對所用的用戶都適用
~/.xxx?? 文件里面的內容只適用于個人
login shell:該模式表示用戶登入,比如使用 "su -" 命令, 或者用 ssh 連接到某一個服務器上, 都會使用該用戶默認shell 啟動 login shell 模式.該模式下的 shell 會去自動執行 /etc/profile 和 ~/.profile 文件, 但不會執行任何的 bashrc 文件, 所以一般再 /etc/profile 或者 ~/.profile 里我們會手動去 source bashrc 文件.
no-login shell:該模式是我們在終端下直接輸入 bash 或者 bash -c “CMD” 來啟動的 shell.該模式下是不會自動去運行任何的 profile 文件.
interactive shell:該默認是交互式shell, 就是用來和用戶交互的, 提供了命令提示符可以輸入命令.在這種模式下會存在一個叫 PS1 的環境變量, 如果還不是 login shell 的則會去 source /etc/bash.bashrc 和 ~/.bashrc 文件
non-interactive shell:
SSH login, sudo su - [USER] 或者 mac 下開啟終端這些都是典型的interactive login shell, 所以會有 PS1 變量, 并且會執行/etc/profile?? ~/.profile兩個文件
? ? ?本文轉自西鼠 51CTO博客,原文鏈接:http://blog.51cto.com/10630401/1981763,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的与登录shell相关的文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者国际版在哪里下载
- 下一篇: 基于Node的PetShop,RESTf