readlink is not POSIX, but is in coreutils in at least Arch and Ubuntu

What it says on the tin.