0 votos

Bash script que sólo se ejecuta en el terminal

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

Además, estoy teniendo un problema ya que el script que estoy ejecutando se abre desde un "Desarrollador no identificado". Sé cómo resolver manualmente desde las preferencias del sistema, pero ¿hay alguna manera de automatizar en el script?

1voto

Steve Evans Puntos 155

Añade el .command extensión

Para que un bash script se abra y ejecute en el Terminal.app de MacOS, añade el sufijo .command al nombre del archivo.

Si tiene un bash script llamado myscript.sh renómbralo como myscript.command . Una vez renombrado, cuando se hace doble clic en el archivo o se abre desde el Finder de MacOS, la aplicación Terminal.app abrirá y ejecutará el archivo.

Firma de códigos

El Promotor no identificado La advertencia aparece porque el script no está 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, necesita firmar con código la carga útil o el contenido. La mejor manera de lograrlo depende del entorno de sus usuarios.

Ver hacer que un archivo bash ejecutable se ejecute al hacer clic para enfoques razonables como una envoltura de AppleScript o ornitorrinco .

Envoltura AppleScript

Puede incrustar un shell script dentro de un AppleScript. Los AppleScripts exportados pueden hacerse ejecutables y con código firmado:

 Applications > Utilities > Script Editor.app

Utilice el do shell script comando y Archivo > Exportar con la firma de código activada.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X