Ответ 1
Я думаю, readlink - это то, что вы ищете:
File.readlink("path/to/symlink")
У меня есть строка, содержащая путь файловой системы к существующей символической ссылке. Я хочу получить путь, на который указывает эта ссылка.
В принципе, я хочу, чтобы я прошел через этот бит хакера:
s = "path/to/existing/symlink"
`ls -ld #{s}`.scan(/-> (.+)/).flatten.last
но я хочу сделать это без обхода.
Я думаю, readlink - это то, что вы ищете:
File.readlink("path/to/symlink")
require 'pathname'
Pathname.new("symlink").realpath
или readlink, как говорили другие
Или вы можете попробовать:
File.realpath("symlink_path")
Работает как для символических ссылок, так и для обычных файлов.