Que tal experimentar um simples OR
do seu shell?
ssh [email protected] || ssh -p 22 remote.address.of.franklin
Eu não estou realmente familiarizado com o ZSH, mas acho que a lógica de avaliação ainda seria preguiçosa, o que significa que a segunda parte só é avaliada se a primeira parte falhar. É claro que o primeiro comando pode parar por algum tempo tentando descobrir se franklin.local
está disponível.
Você poderia atribuir esse comando a um alias para encurtá-lo (como você fez com a função).