[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00445] Re: specifying a path on the command line



 しらいです。

In Message-Id <8664qtqm8y.knu@iDaemons.org>
        "Akinori MUSHA" <knu@iDaemons.org>さんwrites:
>        zsh% fd '$HOME/mp3'
> 
> で ~/mp3 が開くところを見ると、渡された文字列を改めて解析して
> いるようです。
> 
>  仕様でしょうか。

 仕様と言えば仕様ですね。経緯を詳しくは憶えていないんですが、
要望があって敢えてそういう実装にしている筈です。
 確か、Bourne shell のような primitive な shell から起動し
た際に「~/.profile」みたいな表記を POSIX shell ライクに展開
して欲しいとかいう要望だったような。
 引数を渡された側からは、その「~」が元は「\~」だったのか、
それとも未評価のまま渡された「~」だったのかを判別することが
不可能なので、一律に evaluate してます。

 「$」とか「'」とかは primitive shell でも普通に評価される
ので、本当なら「~」だけを評価するような関数に処理させるべき
なんでしょうけど、あいにくそういう関数は用意してないもので。
 実用上この仕様で不都合あるようなら新たな仕様を考えないとい
けなくなりますが、どういった仕様がいいんでしょうかね?

                                               しらい たかし