Manca il "/" all'inizio della tua app e sudo
come /bin
è di proprietà di root
e non puoi scriverlo come utente normale. Come lo hai attualmente, funzionerebbe solo se la tua directory attuale era la root di sistema. Ciò presuppone ovviamente che l'app Sublime Text si trovi nella cartella principale delle applicazioni.
Prova questo ...
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /bin/sub
Un ripensamento: è considerata una cattiva pratica cambiare il contenuto di /bin
e /usr/bin
perché qualsiasi aggiornamento imminente di OS X potrebbe cancellare il contenuto lì. /usr/local/bin
è il solito posto dove installare i binari forniti dall'utente, quindi
[[ -d /usr/local/bin ]] || sudo mkdir /usr/local/bin
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/sub
potrebbe essere l'opzione migliore.
Oppure (come probabilmente non è mai necessario eseguire Sublime Text da uno script di shell), basta definire un alias di bash
alias sub=/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
che dovrebbe essere aggiunto al file di avvio di bash per renderlo attivo
echo "alias sub=/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl" >> ~/.bashrc