Bash Script que solo se ejecuta en el terminal

0

Creé un script Bash que debería poder ejecutarse en cualquier máquina. El problema que estoy teniendo solo se ejecutará en la terminal. Cuando un usuario hace doble clic en el script, algunos lo abren en iTerm y otros en Xcode en la vista de lectura. ¿Alguna idea de cómo hacer que se ejecute en estos programas o que sea solo específico para el terminal?

Además, tengo un problema como la secuencia de comandos que estoy ejecutando ya que se está abriendo desde un "desarrollador no identificado". Sé cómo resolver manualmente las preferencias del sistema, pero ¿hay alguna forma de automatizar en el script?

    
pregunta MacMania 21.07.2016 - 08:00

1 respuesta

0

Agregue la extensión .command

Para abrir y ejecutar un script de bash en Terminal.app de macOS, agregue el sufijo .command al nombre de archivo.

Si tiene un script de bash llamado myscript.sh , cambie su nombre a myscript.command . Una vez que se le cambia el nombre, cuando se hace doble clic en el archivo o se abre desde Finder de macOS, Terminal.app abrirá y ejecutará el archivo.

Firma de código

La advertencia Desarrollador no identificado aparece porque la secuencia de comandos no tiene un código firmado. Es una advertencia razonable de macOS, ya que un script podría hacer daño.

Si está distribuyendo el script a través de un sitio web, debe firmar el código de la carga útil o el contenido. La mejor manera de lograr esto depende del entorno de sus usuarios.

Consulte haciendo que se ejecute un archivo bash ejecutable al hacer clic para enfoques razonables como un contenedor de AppleScript o platypus .

AppleScript Wrapper

Puede incrustar un script de shell en un AppleScript. Los AppleScripts exportados se pueden convertir en ejecutables y en código firmado:

 Applications > Utilities > Script Editor.app

Use el comando do shell script y File > Exportar con la firma de código habilitada.

    
respondido por el Graham Miln 21.07.2016 - 08:53

Lea otras preguntas en las etiquetas