Not a POSIX script so use hash