Files
rdlink/README.md
2022-03-22 16:26:09 +01:00

28 lines
743 B
Markdown

# 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 like `pipe:[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 like `result="$(readlink "${tocheck}")"` returns.