¿Cuál es el equivalente zsh de un script de bash para obtener el directorio del script?

Quiero traducir este bash-script a zsh-script. Por lo tanto, no tengo experiencia con esto, espero poder obtener ayuda aquí:

guión de bash:

SCRIPT_PATH="${BASH_SOURCE[0]}";
if([ -h "${SCRIPT_PATH}" ]) then
    while([ -h "${SCRIPT_PATH}" ]) do SCRIPT_PATH=`readlink "${SCRIPT_PATH}"`; done
fi
pushd . > /dev/null
cd `dirname ${SCRIPT_PATH}` > /dev/null
SCRIPT_PATH=`pwd`;
popd  > /dev/null

Lo que ya sé es que puedo usarSCRIPT_PATH="$0"; para obtener la ruta donde se encuentra el script en. Pero luego me sale errores con la declaración "readlink".

Gracias por tu ayuda

Respuestas a la pregunta(1)

Su respuesta a la pregunta