Ejecutar script simple

Escribí el siguiente script muy simple:

ruta -n agregar 192.168.0.0/20 192.168.224.1
ruta -n eliminar 0.0.0.0
ruta -n agregar 0.0.0.0 172.20.10.1

Y me gustaría simplemente hacer doble clic en él y ya sabes... ejecutarlo... en Windows 8 solo tendría que guardar como .baty hacer clic con el botón derecho en él-> ejecutar como administrador... ¿Cómo puedo lograr un comportamiento similar en Mac? osx (última versión)?

Puntos extra si puedo simplemente hacer doble clic en él (cortar la ejecución en modo elevado)

Respuestas (1)

En lugar de .bat, guárdelo como .command.

Un archivo .command ejecutará el contenido del archivo en la Terminal al hacer doble clic, tal como lo haría un .bat en Windows.

Si no puede ejecutar el archivo porque no tiene permiso para ejecutar el archivo de comando, debe configurar 'ejecutar' en el archivo para que le permita ejecutarlo:

chmod u+x /path/to/file.command

ues el propietario del archivo, +xagrega 'ejecutar', por lo que u+xle da al propietario del archivo la capacidad de ejecutarlo

Y para los comandos como administrador, OS X siempre requiere que ingrese la contraseña de administrador. Para su secuencia de comandos, la forma más fácil de hacer esto es ejecutar la secuencia de comandos como usuario administrador y cambiar la secuencia de comandos a lo siguiente:

sudo route -n add 192.168.0.0/20 192.168.224.1
sudo route -n delete 0.0.0.0
sudo route -n add 0.0.0.0 172.20.10.1

sudosignifica DO de usuario sustituto y se ejecuta como raíz de forma predeterminada. Es probable sudoque le pida su contraseña.

¡Casi llegamos! problema de permiso bloqueando ahora! ¿algunas ideas? y sí, estoy en el grupo de administración
@Leonardo Asegúrate de tener permiso para ejecutar; ver esta pregunta
Es probable que los problemas de permisos estén en el routecomando: necesita permisos de sudo para ejecutarse. Intente poner el prefijo de cada línea con sudo -Apara obtener un mensaje interactivo para su contraseña.
@ian-c, cuando hago un $ sudo -A datedevuelve:sudo: no askpass program specified, try setting SUDO_ASKPASS
Suelte el -Aentonces: pensé que OS X tenía una aplicación de pregunta incorporada.