/bin é provavelmente um link simbólico para /usr/bin em seu sistema. Se isso fosse verdade, então:
/bin/../sfw/bin/zsh
seria na verdade o mesmo que
/usr/bin/../sfw/bin/zsh
que reduz para
/usr/sfw/bin/zsh
que é onde zsh realmente vive. Note que o que você tentou, que foi
/bin/sfw/bin
não corresponde a nenhum caminho que você possa ver no sistema. A maneira correta de resolver um caminho relativo ( ../sfw/bin/zsh ) dado o caminho de caminho absoluto que forma a base para esse caminho relativo ( /bin ) é concatená-los juntos como /bin/ + ../sfw/bin/zsh → /bin/../sfw/bin/zsh . / p>