fb7a8a20d2804bd9865c8741960a445d62d7b231
readlink
Replicate readlink -f
as bash script using mainly dependencies available on most platforms:
readlink
(without options)cd
pwd -P
dirname
basename
test -e
(as[ -e <file> ]
)
Known issues
-
When
readlink
is part of a pipe some links contain the current pipe described likepipe:[123456]
where the number changes on every call.
readlink
resolves these as valid links.e.g.
$ readlink -f /dev/stdout /dev/pts/0 $ readlink -f /dev/stdout | cat /proc/737861/fd/pipe:[2332393] $ ./rdlink.sh /dev/stdout
Whereas
rdlink
is not able to evaluate such links, because the pipe is already invalid as soon as a expression likeresult="$(readlink "${tocheck}")"
returns.
Description
Replicate
readlink -f
as bash script using mainly dependencies available on most bash 3 platforms.
Languages
Shell
100%