2016年6月13日 星期一

Mac其Shell的設定與啟動順序

在Mac下面開啟終端機(Terminal)的時候,使用的Shell應該是/usr/bin/login(應該是Bash),會依序去讀取下面幾的設定檔案:
  1. /etc/profiles:這隻會去叫/etc/bashrc
  2. /etc/bashrc:提示符號(prompt,PS1)在這邊設定。這隻會去叫/etc/bashrc_Apple_Terminal
  3. /etc/bashrc_Apple_Terminal:大部分終端機的設定都會放在這邊。裡面會看到當終端機執行的時後,所有的session的資料會放在~/.bash_sessions/裡面
  4.  分成登入與非登入(non-login shell)與非交談式(non-interactive)三種狀況
    1. 登入依照先後次序讀 ~/.bash_profile~/.bash_login~/.profile,似乎是只要讀過其中一個就不會再讀後面的。登出的時候會去讀取~/.bash_logout
    2. 非登入:這種情況會發生在已經登入主機了,只是要更換Shell。這時只會讀取 ~/.bashrc
    3. 非交談:通通都不會讀取,因為如果用script自動處理的話不需要起始許多東西
BashBrian Fox在1988年在Free Software Foundation開始發展的shell,是Linux與Mac OS X預設的Shell。現在大多數UNIX-like系統的登入Shell都是用Bash

參考資料

_EOF_

沒有留言:

張貼留言