Absolutize possibly non-existent path in bash? (linux)
bash, linux, path
Solution
`readlink -m $1`
From the manpage:
-m, --canonicalize-missing
canonicalize by following every symlink in every component of the given
name recursively, without requirements on components existence
Problem
There are many instances on SO where people have asked how best to absolutize a path in bash, but I haven't found any that deal with absolutizing non-yet-existent paths. The `cd $1 && pwd` method does not work at all for non-existent paths. The `readlink -f $1` method will only work for one level of non-existence; that is, it will work for "`~/sdkjf`", but not for "`~/sdkjf/qweuio`" Ideally, I would like a method that would expand the latter to `/home/username/sdkjf/qweuio` ... and would also do similar transforms for ./ and ../ Can you recommend a solution?