Cómo ejecutar comandos de terminal desde un script en macOS

Para ejecutar comandos de Terminal desde un script en macOS, inclúyalos en un script de shell de texto plano, hágalo ejecutable y luego ejecútelo desde Finder o Terminal. Use una .commandextensión para abrirlo haciendo doble clic. Un script no elude los controles de privacidad de macOS ni otorga privilegios de administrador.

Una ventana de editor de texto plano que muestra un shebang de zsh y un comando echo en MyScript.command.
Un breve script de shell comienza con una línea shebang que selecciona zsh.

1. Escribe los comandos en un archivo de texto plano.

Un script de shell es un archivo de texto que contiene comandos. Se inicia con un shebang , la primera línea que le indica a macOS qué shell debe interpretar el archivo. El shell predeterminado actual para las nuevas ventanas de Terminal es zsh, aunque un administrador puede establecer uno diferente por defecto, como explica Apple en su guía de Terminal . Este ejemplo utiliza zsh explícitamente:

#!/bin/zsh
# Print a message when the script runs
echo "Script is running"

Coloca los comandos en líneas separadas debajo del shebang. El shebang selecciona el intérprete, así que usa la sintaxis que admita; un script de Bash, por ejemplo, puede comenzar con . La guía de scripts de shell#!/bin/bash de Apple explica los conceptos básicos.

Puedes usar TextEdit, pero asegúrate de que el archivo sea texto plano: los nuevos documentos de TextEdit pueden ser texto enriquecido. Selecciona Formato > Convertir a texto plano , o configura el formato de nuevo documento de TextEdit a Texto plano en sus ajustes. El formato de texto enriquecido no es código shell. Apple documenta estas opciones en su guía de TextEdit . También funciona un editor de código o un editor de línea de comandos nano.

Un cuadro de diálogo para guardar archivos en macOS con el archivo MyScript.command seleccionado como archivo de texto sin formato en el escritorio.
Guarda el script con la extensión .command en una ubicación que puedas encontrar.

2. Guárdalo con una .commandextensión.

Guarda el archivo de texto plano con un nombre descriptivo, como MyScript.command. La extensión ayuda a Finder a abrir el script en Terminal al hacer doble clic. La documentación para desarrolladores archivada de Apple describe este flujo de trabajo de doble clic para scripts de shell. Comprueba el nombre final en Finder: si termina en .command.txt, cámbiale el nombre para que la extensión final sea solo .command. Guarda el ejemplo en una ubicación como el Escritorio mientras lo configuras.

Si macOS pregunta qué extensión usar, manténgala .commandy confirme que Finder no ha agregado ninguna .txt.

3. Haz que el script sea ejecutable.

Abre la Terminal y otorga a tu cuenta permiso para ejecutar el archivo. Para el ejemplo guardado en el Escritorio, introduce:

chmod u+x "$HOME/Desktop/MyScript.command"

Pulsa Intro. u+xAñade permiso de ejecución para el propietario; las comillas protegen las rutas con espacios. Sustituye la ruta de ejemplo si es necesario. Arrastra el archivo a la Terminal o usa el menú contextual (Opción + clic) del Finder para copiar su ruta. Apple muestra el mismo método en sus instrucciones para archivos ejecutables .

Una ventana de terminal que muestra el comando chmod u+x aplicado al archivo Desktop MyScript.command.
El comando chmod añade permisos de ejecución para el propietario del archivo.

4. Ejecutar el script

Haz doble clic MyScript.commanden Finder para ejecutarlo en la Terminal. La salida y los errores aparecerán allí. O introduce su ruta completa:

"$HOME/Desktop/MyScript.command"

O bien, cambie primero a la carpeta y luego anteponga el nombre del archivo con ./:

cd "$HOME/Desktop"
./MyScript.command

Esto ./le indica al intérprete de comandos que ejecute un archivo en la carpeta actual. La guía de comandos de Terminal de Apple explica cómo ejecutar un archivo ejecutable mediante su ruta de acceso.

Una ventana de terminal ejecutando MyScript.command y mostrando la salida Script se está ejecutando.
Ejecuta el archivo siguiendo su ruta y comprueba el resultado en la terminal.

Solucionar errores comunes

  • “Permiso denegado”: ​​Compruebe que ha ejecutado el comando chmod u+xen el archivo correcto. Si es necesario, repita el comando utilizando la ruta exacta del archivo. Hacer que un archivo sea ejecutable no autoriza todos los comandos que contiene.
  • «No existe tal archivo o directorio»: Confirme la ubicación y la ortografía, incluyendo la extensión. Un archivo guardado accidentalmente MyScript.command.txtno coincidirá con el comando anterior. Arrastrar el archivo a la Terminal puede ayudar a insertar su ruta.
  • Un comando funciona al escribirlo, pero no en el script: el script puede usar un intérprete de comandos diferente o depender de alias, variables de entorno o un directorio de trabajo de tu sesión interactiva de Terminal. Usa la línea shebang correcta, evita depender de alias y especifica las rutas de archivo explícitamente. Si los comandos necesitan una carpeta específica, agrega la cdlínea correspondiente cerca del inicio del script.

Comprenda los permisos antes de compartir.

El permiso de ejecución es independiente de los permisos de privacidad. Un script normalmente se ejecuta con tu cuenta; úsalo sudosolo para comandos que requieran privilegios de administrador.

macOS puede solicitar acceso a carpetas protegidas u otras aplicaciones. Revisa cada solicitud y concede solo lo necesario. Consulta el menú Apple > Ajustes del Sistema > Privacidad y seguridad para Archivos y carpetas y la configuración de privacidad relacionada . Las autorizaciones dependen del acceso solicitado y de la aplicación que lo solicita; no son permisos generales por comando ni se transfieren con un script compartido.

Antes de ejecutar o compartir un script, lee cada línea y asegúrate de entender qué cambios introduce. Un .commandarchivo es práctico porque se ejecuta al abrirlo, así que usa solo archivos de fuentes confiables.

Dejar un comentario

Cómo hacer capturas de pantalla en Mac: una guía completa

Cómo hacer capturas de pantalla en Mac: una guía completa

Aprende a hacer capturas de pantalla en Mac con atajos para la pantalla completa, un área o una ventana, además de consejos sobre la aplicación Captura de pantalla, el portapapeles, la edición y la ubicación de guardado.

Cómo añadir varias imágenes a un único PDF en macOS

Cómo añadir varias imágenes a un único PDF en macOS

Combina varias imágenes en un único PDF en macOS usando Finder o Vista Previa. Controla el orden de las páginas, evita recortarlas y corrige las páginas que faltan sin necesidad de software adicional.

Cómo ver los FPS en macOS: Steam y la interfaz Metal HUD de Apple.

Cómo ver los FPS en macOS: Steam y la interfaz Metal HUD de Apple.

Aprende cómo mostrar los FPS en una Mac con la superposición de rendimiento de Steam o el HUD de rendimiento Metal de Apple, además de soluciones para cuando el contador no aparece.

Cómo forzar el cierre de una aplicación en una Mac: 5 maneras rápidas de cerrar una aplicación.

Cómo forzar el cierre de una aplicación en una Mac: 5 maneras rápidas de cerrar una aplicación.

Utilice las teclas Opción-Comando-Esc para forzar el cierre de una aplicación de Mac que no responde, o ciérrela desde el menú Apple, el Dock, el Monitor de Actividad o la Terminal.

Cómo usar la pantalla dividida en Mac: Coloca dos aplicaciones una al lado de la otra

Cómo usar la pantalla dividida en Mac: Coloca dos aplicaciones una al lado de la otra

Configura la vista dividida, cambia el tamaño o reemplaza un panel, usa Mission Control y descubre cuándo la disposición en mosaico de ventanas del escritorio es más adecuada para tu Mac.

Cómo eliminar los metadatos EXIF ​​de las fotos en macOS

Cómo eliminar los metadatos EXIF ​​de las fotos en macOS

Aprende a eliminar los datos EXIF ​​de las fotos en macOS, ocultar la ubicación en Fotos, limpiar las copias JPEG exportadas con ExifTool y verificar el resultado.

Cómo sincronizar dos carpetas en una Mac de forma segura

Cómo sincronizar dos carpetas en una Mac de forma segura

Sincroniza dos carpetas en un Mac con SyncTwoFolders, elige una actualización unidireccional o bidireccional y previsualiza los cambios antes de que se reemplacen o eliminen los archivos.

Cómo hacer una copia de seguridad de un blog de Tumblr en una Mac

Cómo hacer una copia de seguridad de un blog de Tumblr en una Mac

Realiza una copia de seguridad de tu blog de Tumblr en tu Mac con la exportación web de Tumblr. Descarga y descomprime el archivo ZIP, mantén tus publicaciones y archivos multimedia a salvo y descubre qué información no se incluye en el archivo.

Cómo usar Google Maps en un ordenador Mac

Cómo usar Google Maps en un ordenador Mac

Utiliza Google Maps en tu Mac con Safari o Chrome, encuentra lugares y rutas, cambia las capas del mapa y añade una aplicación web de Safari a tu Dock en macOS Sonoma 14 o posterior.

Los 5 mejores convertidores gratuitos de WAV a MP3 para Windows y macOS

Los 5 mejores convertidores gratuitos de WAV a MP3 para Windows y macOS

Compara cinco convertidores gratuitos de WAV a MP3 para Windows y macOS, incluyendo límites de archivos en línea, herramientas de procesamiento por lotes locales y configuraciones de exportación prácticas.