farmer-logo.gif (14959 bytes) cshell-logo.gif (19625 bytes)
ch-4.gif (10100 bytes)
main-b.gif (271 bytes)


mail.gif (2925 bytes)

4-2-10 cwd 目前工作目錄變數

cwd 變數所代表的便是目前的工作目錄。如果我們用指令 echo 來顯示該變數的內容,其實它和指令 pwd 的效果相當接近。如下:

% echo $cwd
/home1/akira
% pwd
/home1/akira

一般最常應用此變數來設定題詞(prompt)的顯示內容,或者是運用在 C shell 文稿內顯示目前所在的工作目錄。讓我們來設定一個可以顯示目前工做目錄的題詞,如下:

% set prompt = "$cwd % "
/home1/akira %

如上所示,在題詞中我們就可以得到工作目錄的訊息、而不再需要以指令 pwd 來得到此訊息。不過這種設定方法並不會再你更改工作目錄時,自動地更改題詞的資料。所以最好的設定方式還是以下的方式:

/home1/akira % alias cd 'cd \!* ; set prompt = "$cwd % " '
% cd
/home1/akira % cd /
/ % cd
/home1/akira %

我們使用 aliases 的功能重新設定 cd 的功能,讓 cd 不但只執行原來的cd指令而且還重新設定一次 prompt 變數的內容。如此便能在你每次更改目錄時將目前的工作目錄反應在題詞中了。也許你會問,為何不用指令 pwd 而要用變數 cwd 呢?其時這是執行效率的問題。因為指令 pwd 並不是內建指令,必須做 I/O 動作,而使用 C shell 變數則不需要這個動作。所以使用變數 cwd 是比較好的選擇。

b-line.gif (2092 bytes)