Qual é o equivalente zsh de um script bash recebendo o diretório do script?

Eu quero traduzir este script bash intro um script zsh. Por isso, não tenho experiência com isso, espero obter ajuda aqui:

script 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

O que eu já sei é que eu posso usarSCRIPT_PATH="$0"; para obter o caminho onde o script está localizado em. Mas então eu recebo erros com a instrução "readlink".

Obrigado pela ajuda

questionAnswers(1)

yourAnswerToTheQuestion