しらいです。

 「駄文」の方に対する followup なので Followup-To: には従わ
ないとゆーことで。

In article <050308124804.M0122887@sma.gssm.otsuka.tsukuba.ac.jp>,
 <kuno-fjcharter@gssm.otsuka.tsukuba.ac.jp> wrote:
>久野@fj憲章2005年3月版署名管理機関です。

>  …駄文というか、fj.unix系への投稿なのでその話題を少し。そもそ
>もカレントディレクトリがどこかというのをUnixのファイルシステム構
>造からして知るのは面倒そうだし、シンボリックリンクをたどったとき
>はそっちの名前であって欲しい気もするので、自分ではpwdを
>「echo $cwd」とかにaliasしておいて必要なときだけ/bin/pwdを呼ぶ、
>というのをずっと習慣にしていました。あんまり関係ないかな。

 既に POSIX 的にも pwd(1) には -L option が採用されていて、
getcwd(3) 的な物理パス名だけでは不十分だということになってい
ますので、最近の OS だと /bin/pwd だけでこと足りるのかも。
 尤も、POSIX pwd の -L option は単に $PWD を見てるだけのよ
うですので、正しい論理パス名が得られるかどうかは pwd(1) を呼
ぶ親プロセス次第ですね。
 そもそも設定側の chdir(2) に対応する取得側 system call が
存在しないという設計が、今となっては不十分だったのかも。


[補足: おうちのかたへ]
 上記の説明が理解出来ないお子さまがいらっしゃるようでしたら、
「..」以下の各 directory entry の inode と「.」の inode を比
較しながら「/」まで遡るといった getcwd(3) の実装を示した上で、
symbolic link ではこのメカニズムが通用しないことを導いてあげ
て下さい。
 一般に symbolic link を辿った論理パス名は、その移動経緯を
環境変数等で記憶しておかないと、移動が完了した後からは判別す
ることが出来ないことに気づけば、POSIX pwd の実装にも納得して
頂けることでしょう。

-- 
                                               しらい たかし