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
Respuesta
Respuesta corta
A .command
el script debería hacer el truco
Paso a paso
- Abra TextEdit y cree un nuevo archivo
- Convertir a texto sin formato haciendo clic en Formato> Convertir en texto sin formato
-
Agregue sus comandos, uno por línea. Por ejemplo, podría hacer:
#! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder
-
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. - ¡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 comosomeAdminName
(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 .
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 escribirns
. Felicidad.