Te estás perdiendo el '/' al comienzo de tu aplicación y, sudo
como /bin
es de su propiedad, root
no puedes escribirle como un usuario normal. Como lo tiene actualmente, solo funcionaría si su directorio actual fuera la raíz del sistema. Esto supone, por supuesto, que la aplicación Sublime Text está en su carpeta principal de Aplicaciones.
Prueba esto…
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /bin/sub
Una idea de último momento: se considera una mala práctica cambiar el contenido de /bin
y /usr/bin
porque cualquier próxima actualización de OS X puede borrar el contenido allí. /usr/local/bin
es el lugar habitual para instalar binarios proporcionados por el usuario, por lo que
[[ -d /usr/local/bin ]] || sudo mkdir /usr/local/bin
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/sub
podría ser la mejor opción
O (como probablemente nunca necesite ejecutar Sublime Text desde un script de shell), simplemente defina un alias bash
alias sub=/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
que debe agregarse a su archivo de inicio de bash para que se pegue
echo "alias sub=/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl" >> ~/.bashrc
/Applications/…
, como se señala en la respuesta, y necesita privilegios de root para escribir/bin
(por lo tantosudo
). La pregunta residual es si es suficiente ejecutar el ejecutable de esa manera. ¿Estás seguro de que no quieres un script de shell que haga algo asíopen "/Applications/Sublime\ Text.app"
como el contenido del archivo/bin
?