From: AdSR Date: 2007-03-10T05:45:06+09:00 Subject: Re: Getting to the last file in a chain of symlinks On 9 Mar, 20:10, "Daniel Berger" wrote: > Hi all, > > Here's a little code snippet I thought I'd share. It follows a chain > of symlinks until you get down to the "real" file. Anyone got a better > approach? > > # On Solaris 10, Sunblade 150 > # > # /dev/fd0 -> fd0c > # /dev/fd0c -> diskette0 > # /dev/diskett0 -> ../devices/pci@1f,0/isa@7/dma@0,0/floppy@0,3f0:c > # > > file = '/dev/fd0' > > while true > Dir.chdir(File.dirname(file)) > file = File.expand_path(File.readlink(file)) > break unless File.symlink?(file) > end > > puts file # /devices/pci@1f,0/isa@7/dma@0,0/floppy@0,3f0:c > > Regards, > > Dan require 'pathname' puts Pathname.new('/dev/fd0').realpath I didn't check what would happen for cyclic dependencies. Regards, AdSR