¿Cómo ejecuto los scripts de línea de comandos?

16

En Windows, puedo crear archivos .bat . Hago doble clic en él y todas las líneas se interpretan como si lo hubiera ingresado en la consola.

En OS X, ¿qué archivo o programa debo usar? Si quiero escribir un archivo con;

 echo hello world

Quiero hacer doble clic en este archivo y hacer que se ejecute en una consola. ¿Cómo hago esto?

    
pregunta Rodrigo 04.08.2011 - 21:04

6 respuestas

21

Las bases de la terminal en OS X son las mismas que las utilizadas en Linux. Lo que busca específicamente se conoce como "Shell Scripting".

El shell predeterminado cuando abres Terminal.app (ubicado en /Applications/Utilties ) es el shell bash.

OS X ha tenido un controlador de shell incorporado accesible a través del Finder y otras aplicaciones a través de la extensión .command , aunque de manera frustrante no a través de la extensión .sh . Sin embargo, configurar el script para que se ejecute a través del Finder es aún más complicado.

  1. Cree un script de shell simple, como su ejemplo. He creado una aplicación Hello World:
#!/bin/bash
echo "Hello World"
  1. Guarde este archivo como HelloWorld.command .

  2. Dar a este archivo permiso para ser ejecutado. chmod u+x HelloWorld.command debería hacer eso.

  3. Abra el directorio donde guardó este archivo en el Finder. Luego haga doble clic en el archivo HelloWorld.command .

Esto abrirá una terminal y ejecutará el script, la salida en mi computadora es la siguiente:

  

$ /Users/jason/Applications/HelloWorld.command; salida;
  Hola mundo
  cerrar sesión

     

[Proceso completado]

La forma alternativa de ejecutar este archivo es mientras aún está en la Terminal, simplemente emita ./HelloWorld.command asumiendo que está en el mismo directorio que el archivo.

Si lo haces, obtendrás un resultado mucho más simple:

  

Aplicaciones jason-mac $ ./HelloWorld.command
  Hola mundo
  Aplicaciones jason-mac $

¡Acabas de crear y ejecutar un script de shell en OS X!

    
respondido por el Jason Salaz 04.08.2011 - 21:20
4

El equivalente de la consola o el símbolo del sistema en Windows es la aplicación de Terminal ubicada en / Aplicaciones / Utilidades /

El equivalente de DOS (o como se llame ahora) es "bash"

El equivalente de un archivo por lotes (.bat) en Windows es un script de shell (.sh)

Simplemente haz una búsqueda en Google para "bash" "referencia" y descubrirás el resto. También recomendaría comprar el libro de cocina Bash (O'Reilly).

Específicamente, esto sería lo que escribirías en una ventana de terminal para obtener tu script "hola mundo":

Para crear el archivo:

    echo "echo hello world" > file.sh

Para cambiar los permisos para hacer el archivo ejecutable:

    chmod 755 file.sh

Para ejecutar el script:

    ./file.sh

Si desea poder hacer doble clic en él desde el Finder, haga clic con el botón derecho (o presione la tecla Control) en el archivo y seleccione Obtener información, luego en Abrir con, seleccione la aplicación Terminal. O puede usar la extensión .command en lugar de la extensión .sh.

    
respondido por el Phil M 04.08.2011 - 21:58
2

Probablemente quieras darle un vistazo a AppleScript. Este libro de Sal Soghoian es considerado por muchos el libro de referencia sobre AppleScript.

Otra forma agradable para que los usuarios automaticen las aplicaciones de Mac es utilizar Automator . Es posible que desee darle una oportunidad también. Espero que esto ayude.

Actualizar

Parece que estás buscando algo como scripts de shell de Unix. Estos dos tutoriales son decentes y parecen cubrir lo básico.

    
respondido por el Christian Correa 04.08.2011 - 21:08
0

Shell scripts. No creo que Ask Different sea el lugar adecuado para analizarlo en profundidad, pero aquí hay una guía muy detallada: enlace

Mac OS X está certificado para UNIX desde 10.5 en (¿verdad?), por lo que este criterio aquí también es aplicable a Linux y otros sistemas operativos similares a UNIX.

(de una manera menos compleja, el Automator de Mac OS X es bastante poderoso, al igual que el Editor de AppleScript, que puede ejecutar scripts de shell y otros comandos con programas, y envolverlos en un conveniente paquete .app para Launchpad o compartiendo con amigos)

    
respondido por el Swizzlr 04.08.2011 - 21:11
-1

Hice un video hace un par de días explicando esto. Espero que esto ayude: enlace

    
respondido por el mike 30.07.2013 - 21:03
-2

Para mac es el archivo .sh también conocido como script de Shell

    
respondido por el Davide 04.08.2011 - 21:13

Lea otras preguntas en las etiquetas