登入shell和非登入shell的區別

來源:互聯網
上載者:User

          使用啟動指令碼,可以讓自訂的環境一勞永逸。
          這些指令碼在shell被建立時運行
          根據shell是登入shell還是非登入shell,所啟動並執行啟動指令碼也會不一樣
          我們“su - ”是登入shell;“su ”是非登入shell
          放在啟動指令碼中典型的包括:
          ① 本地變數設定,特別是PS1
             比如,我的:

[oracle@10gR2 ~ $]tail -f .bash_profile | grep -n --color=auto 'PS1'10:export PS1='[\u@10gR2 \W \$]'

          ② 環境變數  例如 PATH  
          ③ 別名
          ④ umask
         
          ㈠ 登入shell
            
             /etc/profile 是登入shell啟動後啟動並執行第一個啟動指令碼
             它只為登入shell運行;非登入shell不會引發這個指令碼
             登入shell載入啟動指令碼的順序為:
             /etc/profile → /etc/profile.d → .bash_profile → .bashrc → /etc/bashrc
             每個調用的指令碼會依次撤銷前一個呼叫指令碼中的改變
             在退出登入shell時,我們還可以執行某些任務,如建立自動備份、清除臨時檔案
             把這些任務放在.bash_logout檔案中
            
          ㈡ 非登入shell
         
             非登入shell載入啟動指令碼的順序:
             .bashrc → /etc/bashrc → /etc/profile.d

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.