[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00126] Re: FD起動時のディレクトリ獲得方法に関して
- Subject: [FDclone-users:00126] Re: FD起動時のディレクトリ獲得方法に関して
- From: Takashi SHIRAI <shirai@unixusers.net>
- Date: Wed, 05 Mar 2003 00:51:07 +0900
しらいです。
In Message-Id <20030304235607.6b1eecc5.kousyou@light.ne.jp>
=?ISO-2022-JP?B?GyRCOWE3bhsoQiAbJEJVcklSGyhC?= <kousyou@light.ne.jp>さんwrites:
> FDを起動した時に表示されるpathですが、環境変数から獲得していないのは
> DOS版を意識しているからでしょうか?
> 環境変数 PWD が設定されている場合は、環境変数を優先した方が良くなると思われますが
> いかがでしょうか?
環境変数 PWD に current working directory (CWD) を保存して
いる環境が一般的ではないからです。私の知る範囲では csh と zsh
くらいのものでしょうか。
ksh や bash も変数 PWD に CWD の値を保存していますが、user
が意図的に export しない限りは環境変数ではなく shell 変数で
しかありません。Bourne shell や ash に至っては shell 変数に
すら使われていません。
環境変数 PWD は POSIX にも規定されていませんし、どういう用
途に用いられるかは実装依存なので、そんな得体の知れないものを
拠り所にする必然性が感じられません。
唯一、昔の emacs 環境用に PWD の設定だけは行なっています。
環境変数 PWD が存在する時には、その値は常に CWD を指している
筈です。
昔の emacs は getcwd() に優先して環境変数 PWD の値を参照し
て CWD を定めていますので、PWD の値と実際の CWD とが異なると
file の path を探せなくなってしまいます。そのための対処です。
PWD を盲目的に参照すると、この emacs の挙動のように却って
支障の元になり兼ねませんので、そういうお節介な仕様にはしてあ
りません。
> シンボリックリンク先から起動すると絶対パスで表示されちょっと不便かなと.....
.fd2rc の最後に「if [ -d "$PWD" ]; then cd "$PWD"; fi」と
でも書いてみては如何でしょう?この手は多分 ash や ksh にも有
効だと思います。
POSIX 的には「cd -L "$PWD"」の方が確実かな。
# FDclone 自身を login shell として常用していれば、こんな
#ad hoc な手を使わずとも全然問題ありません :-)
しらい たかし