17 votos

¿Cómo se ejecuta la línea de comandos scripts?

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

En OS X, ¿qué archivo o programa tengo que utilizar? Si quiero escribir un archivo con;

 echo hello world

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

24voto

Christopher Scott Puntos 665

Los fundamentos del terminal en OS X son los mismos que los utilizados en Linux. Lo que buscas específicamente se conoce como "Shell Scripting".

El shell por defecto al abrir Terminal.app (situado en /Applications/Utilties ) es el shell bash.

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

  1. Crea un simple shell script, como tu ejemplo he hecho una aplicación de Hola Mundo:

    !/bin/bash

    echo "Hello World"

  2. Guarde este archivo como HelloWorld.command .

  3. Da permiso a este archivo para ser ejecutado. chmod u+x HelloWorld.command debería hacerlo.

  4. Abra el directorio donde guardó este archivo en Finder. A continuación, haga doble clic en el archivo HelloWorld.command archivo.

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

$ /Users/jason/Applications/HelloWorld.command ; exit;
Hola Mundo
cierre de sesión

[Proceso finalizado]

La forma alternativa de ejecutar este archivo es, mientras se está en la Terminal, simplemente emitir ./HelloWorld.command asumiendo que estás en el mismo directorio que el archivo.

Si lo hace, el resultado será mucho más sencillo:

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

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

4voto

Chris Puntos 1

El equivalente a la Consola o al Símbolo del sistema en Windows es la aplicación Terminal situada en /Aplicaciones/Utilidades/

El equivalente a DOS (o como sea que lo llamen hoy en día) es "bash"

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

Sólo tienes que hacer una búsqueda en Google de "bash" "reference" y te darás cuenta del resto. También recomendaría comprar el Bash Cookbook (O'Reilly).

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

Para crear el archivo:

    echo "echo hello world" > file.sh

Para cambiar los permisos para que el archivo sea ejecutable:

    chmod 755 file.sh

Para ejecutar el script:

    ./file.sh

Si quieres poder hacer doble clic en él desde el Finder, haz clic con el botón derecho del ratón (o control-clic) en el archivo y selecciona Obtener información, luego en Abrir con, selecciona la aplicación Terminal. También puedes utilizar la extensión .command en lugar de la extensión .sh.

2voto

Andy Puntos 1028

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

Otra buena forma de automatizar las aplicaciones de Mac es utilizar Automatizador . Tal vez quiera probarlo también. Espero que esto ayude.

Actualización

Parece que estás buscando algo parecido a un shell scripting de Unix. Este dos tutoriales son decentes y parecen cubrir lo básico.

0voto

Tony Testa Puntos 51

Shell scripts. No creo que Ask Different sea el lugar adecuado para discutirlo en profundidad pero hay una guía muy detallada aquí: http://tldp.org/LDP/abs/html/index.html

Mac OS X está certificado como UNIX a partir de la versión 10.5 (¿verdad?), por lo que esta sabiduría también es aplicable a Linux y otros sistemas operativos tipo UNIX.

(de forma menos compleja, el Automator de Mac OS X es bastante potente, al igual que el Editor de AppleScript, ambos pueden ejecutar scripts y otros comandos con programas, y envolverlos en un cómodo paquete de aplicaciones para el Launchpad o para compartir con los amigos)

-1voto

John M Puntos 134

Hice un video hace un par de días explicando esto. Espero que esto ayude: http://www.youtube.com/watch?v=Q2jxpJAlsyg

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X