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

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

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

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

Nunca antes había hecho algo como esto. ¿Hay alguna forma de crear tal script? Por favor avise.

Comentarios

  • ¿Quiere decir que quiere ejecutar un script sin que el usuario ingrese su contraseña?
  • @Allan Quiero ejecutar un archivo en lugar de varios comandos . Ejecutarlo sin que el usuario ingrese su contraseña al menos una vez sería bueno, pero probablemente imposible si ' no me equivoco.
  • Eso ' es definitivamente posible a menos que necesite hacer algo que requiera un administrador; vea mi respuesta a continuación
  • Quizás no sea exactamente lo que ' después, pero lo encontré muy efectivo. Podría usar alias p. Ej. alias ns="sudo netstat -tulpn". Incluso podría ponerlos en @reboot líneas en Crontab si los quisiera en cada arranque. Ahora puedo simplemente escribir ns. Felicidad.

Respuesta

Respuesta corta

A .command el script debería hacer el truco


Paso a paso

  1. Abra TextEdit y cree un nuevo archivo
  2. Convertir a texto sin formato haciendo clic en Formato> Convertir en texto sin formato
  3. Agregue sus comandos, uno por línea. Por ejemplo, podría hacer:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

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

  5. ¡Ya terminó! Haga doble clic en el archivo para ejecutarlo. Arrastrar sobre el icono del terminal también funcionará.

Notas:

  • Si necesita hacer algo que requiera acceso de root (administrador), puede prefijar su comando con sudo. Cuando se ejecute la secuencia de comandos, deberá ingresar su contraseña (y ser 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 Stack Overflow para obtener un poco más de información.

Comentarios

  • ¿Hay alguna manera de hacer que un archivo de comando no cierre la sesión? Quiero tener un archivo de comando que abra la terminal con una variable de ruta predefinida.

Respuesta

Un script es sólo una serie de comandos, por lo que podría ponerlo en un script bash.

#!/bin/bash command 1 command 2 command 3 

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

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

#!/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 

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

Puede nombrar el archivo diagnostics.sh y colocarlo en cualquier lugar que desee. Solo asegúrese de hacerlo ejecutable emitiendo el comando chmod +x diagnostics.sh y use ./diagnostics.sh para ejecutarlo o haga doble clic en él para ejecutarlo si está guardado en su escritorio .

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *