IRBから現在の作業ディレクトリの絶対パスを取得する方法
-
20-09-2019 - |
質問
私はそれが違いを作る必要がある場合、私は知りませんが、Windows上でのRubyを実行していますよ。私がやりたいことのすべては、現在の作業ディレクトリの絶対パスを取得することです。これはIRBから可能ですか?どうやらスクリプトから、それはFile.expand_path(__FILE__)
を使用可能です。
しかし、IRBから、私は次のことを試してみましたし、 "Permission denied" エラーがしまっます:
File.new(Dir.new(".").path).expand
解決
Dir.pwd
は、トリックを行うようだ。
他のヒント
File.expand_path File.dirname(__FILE__)
は、このコマンドが呼び出されたファイルへの相対ディレクトリを返します。
しかし、作業ディレクトリをDir.pwd
返します(お使いの端末におけるpwd
を実行すると同じ結果)
現在実行中のスクリプトからの相対パスについては、以降のルビー2.0 をあなたにも使用することができます。
__dir__
これは基本的に
と同じですFile.dirname(__FILE__)
このは、あなたの現在のファイルの作業ディレクトリを与えます。
File.dirname(__FILE__)
例:
current_file: "/Users/nemrow/SITM/folder1/folder2/amazon.rb"
結果: "/ユーザ/ nemrow / SITM / folder1の/フォルダ2"
あなたは現在のRBファイルのディレクトリのフルパスを取得したい場合:
File.expand_path('../', __FILE__)
これにより、あなたは任意のディレクトリにあるすべてのファイルの絶対パスを取得することができます。
File.join(Dir.pwd,'some-dir','some-file-name')
このは戻ります。
=> "/User/abc/xyz/some-dir/some-file-name"
所属していません StackOverflow