Cómo crear un archivo universal (script) para una Mac, basado en varios comandos de Terminal

13

Tengo varios comandos de Terminal que utilizo para solucionar problemas, escribiéndolos uno por uno en la ventana del terminal.

Estos comandos requieren que se ingrese la contraseña del usuario.

Estoy buscando una manera de crear un archivo universal (script) con estos comandos. Quiero poder ejecutar el archivo en una Mac simplemente haciendo doble clic en él o arrastrando el archivo sobre el icono de la Terminal.

Nunca he hecho algo como esto antes. ¿Hay alguna manera de crear tal script? Por favor avise.

    
pregunta 0lesya 21.03.2017 - 20:26

2 respuestas

18

Respuesta corta

Un script .command debería hacer el truco

Paso a paso

  1. Abre TextEdit y crea un nuevo archivo
  2. Conviértalo a texto sin formato haciendo clic en Formato > Hacer texto sin formato
  3. Agregue sus comandos, uno por línea. Por ejemplo, puedes hacer:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Ejecuta chmod u+x ~/Desktop/myCommandScript.command en tu terminal, donde ~/Desktop/myCommandScript.command es la ruta a tu script. Esto le dará al terminal el permiso para ejecutar el archivo.

  5. has terminado! Haga doble clic en el archivo para ejecutar. Arrastrar sobre el icono de la terminal también funcionará.

Notas:

  • Si necesita hacer algo que requiera acceso de root (administrador), puede prefijar su comando con sudo . Cuando se ejecute el script, deberá ingresar su contraseña (y ser un administrador)
  • Si el usuario final no es un administrador, pero necesita hacer algo que requiera acceso de root, puede usar su someAdminName , que ejecutará el comando como someAdminName (necesitará su contraseña).

También puede ver aquí en Desbordamiento de pila para más información.

    
respondido por el Cullub 21.03.2017 - 20:56
6

Un script es solo una serie de comandos, por lo que puedes ponerlo en un script de bash.

#!/bin/bash

command 1
command 2
command 3

Ahora, todo esto depende de los tipos de comando y de si requieren o no la intervención del usuario.

Sin embargo, si está obteniendo información de diagnóstico, por ejemplo, puede tener un script que sí lo hace

#!/bin/bash

# Get SMART status of main drive
diskutil info disk0 | grep -i smart

# Get the model of the machine in question
system_profiler SPHardwareDataType | grep -i Identifier

Esos son solo ejemplos. Tenga en cuenta que cualquier salida generada, será enviada a la consola (pantalla). Sin embargo, puede redirigir la salida a un archivo agregando >> /path/to/outputfile.txt al final de cada comando para que tenga un archivo que pueda analizar una vez que el archivo haya terminado de ejecutarse.

Puedes nombrar el archivo diagnostics.sh y colocarlo donde quieras. Solo asegúrate de que sea ejecutable emitiendo el comando chmod +x diagnostics.sh y usa ./diagnostics.sh para ejecutarlo o haz doble clic en él para ejecutarlo si está guardado en tu escritorio .

    
respondido por el Allan 21.03.2017 - 20:58

Lea otras preguntas en las etiquetas