2008年12月10日 星期三

[Unix] csh 登入後自動執行某些程式

與其說是 Unix/FreeBSD/Linux 相關,不如說是 csh 相關。


今天有同學問我這個問題,能不能一登入後就自動執行程式呢?這個要求我還是從來沒想過,很巧地找到資料,就順便記一下。


以 FreeBSD 7.0 的環境,若使用 csh 時,預設會執行的設定檔如下



  1. /etc/csh.cshrc

  2. /etc/csh.login

  3. /etc/csh.logout


因此,在 csh 環境上,若使用者想更改預設的環境設定,可以在自己的目錄下,建立以下三個檔來覆蓋掉預設的環境設置



  1. ~/.cshrc

  2. ~/.login

  3. ~/.logout


其中以 "~/.cshrc" 為最常設定的,例如環境上使用的預設編輯器等等的。若要 login 後自動執行什麼程式的話,就寫在 "~/.login";而 logout 後想自動執行程式就寫 "~/.logout" 吧!


不過,整體上建議只使用 "~/.cshrc" 比較妥善,剩下的部分,還是少動為妙。至於問我的人的需求呢?是因為常常用 screen 工作,但又常常碰到網路不穩而斷線的情況,因此很希望登入後能夠自動去把 screen 接回來啦。


除此之外,若有些如 "~/.cshrc" 類的設定,希望某些情境下才使用的,例如當我要進行某些開發時,一些常用的開發程式、路逕的設置等需要重新設定等,此時可先寫成 "~/.cshrc_for_work" ,屆時有需要的時候,可以透過指令更新 csh 環境囉!


# source ~/.cshrc_for_work


沒有留言:

張貼留言