與其說是 Unix/FreeBSD/Linux 相關,不如說是 csh 相關。
今天有同學問我這個問題,能不能一登入後就自動執行程式呢?這個要求我還是從來沒想過,很巧地找到資料,就順便記一下。
以 FreeBSD 7.0 的環境,若使用 csh 時,預設會執行的設定檔如下
- /etc/csh.cshrc
- /etc/csh.login
- /etc/csh.logout
因此,在 csh 環境上,若使用者想更改預設的環境設定,可以在自己的目錄下,建立以下三個檔來覆蓋掉預設的環境設置
- ~/.cshrc
- ~/.login
- ~/.logout
其中以 "~/.cshrc" 為最常設定的,例如環境上使用的預設編輯器等等的。若要 login 後自動執行什麼程式的話,就寫在 "~/.login";而 logout 後想自動執行程式就寫 "~/.logout" 吧!
不過,整體上建議只使用 "~/.cshrc" 比較妥善,剩下的部分,還是少動為妙。至於問我的人的需求呢?是因為常常用 screen 工作,但又常常碰到網路不穩而斷線的情況,因此很希望登入後能夠自動去把 screen 接回來啦。
除此之外,若有些如 "~/.cshrc" 類的設定,希望某些情境下才使用的,例如當我要進行某些開發時,一些常用的開發程式、路逕的設置等需要重新設定等,此時可先寫成 "~/.cshrc_for_work" ,屆時有需要的時候,可以透過指令更新 csh 環境囉!
# source ~/.cshrc_for_work
沒有留言:
張貼留言