52

既存のシンボリック リンクへのファイル システム パスを含む文字列があります。このリンクが指すパスを取得したい。

基本的に、私はこのちょっとしたハッカーを通過するのと同じものが欲しいです:

s = "path/to/existing/symlink"
`ls -ld #{s}`.scan(/-> (.+)/).flatten.last

しかし、私は砲撃せずにやりたいです。

4

3 に答える 3

48
require 'pathname'
Pathname.new("symlink").realpath

または他の人が言ったようにreadlink

于 2009-08-06T09:56:01.830 に答える
15

または、次を試すことができます。

File.realpath("symlink_path")

これは、シンボリックリンクと通常のファイルの両方で機能します。

于 2014-08-14T14:13:53.630 に答える