4

Rubyスクリプトの場所に関連するファイルにアクセスする必要があります。

私が見つけた唯一の解決策は使用することですがFile.dirname(__FILE__)、スクリプトがシンボリックリンクから実行される場合、シンボリックリンク__FILE__の場所を示します。

__FILE__私は、それがリンクであるかどうかを調べ、リンクであるかどうかを確認し、それがどこを指しているかを見つけることを含まないソリューションを好みます。しかし、他に方法がない場合は、これを行うための宝石がすでにあるかどうかを知っておくと便利ですか?

4

3 に答える 3

4

File.expand_path役立ちますか ?

(試着するための「ニックスボックス」はありません)

于 2009-12-23T19:08:38.783 に答える
3

私は次のバリアントを好みます:File.expand_path('../other_file_in_same_dir', __FILE__)

2 番目の引数は、相対パスが展開されるポイントです。これは、現在の作業ディレクトリにデフォルト設定されます。

于 2009-12-24T11:34:30.377 に答える
1

popen を使用して ls -l $(pwd) などのシェル コマンドをいつでも実行し、それを解析してシンボリック リンクをたどることができます。Windows の場合は、同等の windows os コマンドを実行するだけです (存在すると仮定しています!)。

于 2009-12-23T19:03:48.047 に答える