Você conhece o link ? É realmente uma ótima ferramenta para depurar essa bagunça:
Você cometeu um erro apenas no começo:
if [ -z "$PS1" ] && return
# SC1073 Couldn't parse this if expression.
# SC1050 Expected 'then'.
Então é óbvio que você quis dizer
[ -z "$PS1" ] && return
ou
if [ -z "$PS1" ]; then
return
fi