在一台共用的工作站中,很不巧地使用共用帳號來操作時,這時候常常會碰到一些軟體設定的問題,最常見的就是自己用 tarball 偷裝的軟體 XD 這時候會想透過 source my.cshrc 來更新 PATH 環境變數,來使用這些 tools,然而使用 screen 時,卻變成每開一個視窗就得手動跑一次 source my.cshrc ,有點麻煩 :P 原先這種是應該寫在 ~/.cshrc 中就好,但因為是共用帳號,所以就設法避開了。

暫時還沒找到 .screenrc 的設定法?感覺應該有辦法每次新建一個視窗後,就跑某些指令吧?總之現在先偷改 ~/.cshrc 的部分,用的方式就是看工作目錄在哪,在指定工作目錄下就跑 source my.cshrc 來解決。至少簡單地可以 work 了 Orz

~/.screenrc:

caption always "%{bw}%M/%d %c %{wb} %-w%{c}%n %t%{w}%+w%{k} %=%{G}[%H] %l%"

~/.cshrc:

...
...

set checkdir='/data/MyWorkDir'
set currdir=`pwd`
set currcheck=`echo $currdir|cut -c1-15`
if( $currcheck == $checkdir ) then
        source /data/MyWorkDir/dev.cshrc
endif

/data/MyWorkDir/dev.cshrc:

setenv PATH     ${PATH}:/data/MyWorkDir/tarball/bin
setenv EDITOR   vim
if ( ! $?WINDOW ) then
        set prompt="%n@%m[%t] %~\n> "
else
        set prompt="%n@%m[%t]($WINDOW) %~\n> "
endif

如此一來,只要一開始切換到 /data/MyWorkDir 後,每次用 screen 開啟視窗時,都會跑 /data/MyWorkDir/dev.cshrc 來更新環境變數囉。先這樣撐著用吧 XD


changyy 發表在 痞客邦 PIXNET 留言(0) 人氣()