I feel stupid -- determine the full path to a file

Shane Hathaway shane at hathawaymix.org
Thu Dec 6 12:47:32 MST 2007


Michael L Torrie wrote:
> I have a script that is passed a filename.  This filename could be
> absolute, it could be relative.  I need the script to be able to
> determine the pull path to this file.  I've read lots of hacks for doing
> this that involve ls, find, and pwd, but none of them do what I need.
> If the script was invoked like this,
> 
> foo ../bar
> 
> then I need foo to be able to get a path that's the real, reduced path,
> without any dots in it.  In other words, `pwd`/../bar is not going to
> work.
> 
> Any tips?

Assuming $fn is the filename passed to the script:

abspath=$(cd $(dirname $fn); pwd)/$(basename $fn)

Shane




More information about the PLUG mailing list