Insertar script de shell en el package .app

Estoy intentando conectar un script de shell en un package de aplicaciones para que el script de shell se ejecute cuando open el package, en lugar del ejecutable allí.

Específicamente, estoy tratando de hacer alguna configuration de entorno antes de ejecutar el binary, por ejemplo, estableciendo variables de entorno (ya intenté simplemente poner las variables de entorno en Info.plist, lo cual no funcionó, presumiblemente porque MATLAB es estúpido), y cuando cd en el package y ejecuto manualmente mi script, ( ./StartMATLAB ) funciona; El progtwig se inicia y las variables de entorno son reconocidas.

  • ¿Cómo puedo iniciar una connection de módem desde la línea de command?
  • ¿Cómo puedo escribir un script para abrir múltiples tabs de terminal y ejecutar código en ellas?
  • Compruebe si las tapas se bloquean en la terminal
  • Terminal.app equivalente de `xterm -e 'cmd'`
  • ¿Cómo iniciar aplicaciones OS X desde la command-line con arguments opcionales?
  • Tubería en printf
  • Cuando hago doble clic en .app en Finder, o llamo open MATLAB_R2011b.app , sin embargo, falla. Cuando llamo para open desde la línea de command, obtengo:

     LSOpenURLsWithRole() failed with error -10810 for the file /Applications/MATLAB_R2011b.app 

    Intenté jugar con Info.plist sin éxito, pero no estoy muy familiarizado con cómo se combinan. ¿Alguien sabe por qué no puedo open este package?

    ¡Gracias!

    EDITAR: El Info.plist para el progtwig que estoy tratando de editar parece tener muchas cosas relacionadas con Java. Intenté eliminarlo, pero hasta ahora no tuve suerte. Estoy pensando que el problema puede ser con el file .plist, ya que está esperando un progtwig basado en Java en lugar de cualquier otro ejecutable

  • ¿Cómo arrancar OSX en el escritorio desde un solo modo?
  • Necesita un cli para verificar el hash sha256 de un file
  • ffmpeg trabajando desde la command-line en la Terminal pero no en una secuencia de commands de shell de Automator!
  • En OSX, ¿cuál es el command opuesto para "decir", es decir, qué command hay para el reconocimiento de voz?
  • Cambiar la fuente de la Terminal mediante progtwigción sin reiniciar
  • Ayuda de script de Shell
  • 3 Solutions collect form web for “Insertar script de shell en el package .app”

    Esto no funcionará para una aplicación firmada, pero así es cómo pude hacer que esto funcione:

    1. Cree una copy de la aplicación que intenta modificar en caso de que algo salga mal. ( D en Finder) Para mi ejemplo aquí, modifiqué la versión de tienda de aplicaciones de VectorDesigner

    2. En Terminal, cd /Applications/VectorDesigner.app/Contents/MacOS

    3. mv VectorDesigner VectorDesigner\ copy (sustituya el nombre de su aplicación aquí

    4. pico VectorDesigner (o su editor de elección) y agregue el contenido de su secuencia de commands.

      Usé este script

        #!/bin/sh osascript -e "tell Application \"Finder\" to display alert \"Hello World\"" /Applications/VectorDesigner.app/Contents/MacOS/VectorDesigner\ copy 

      Lo importante es que la última línea llame al ejecutable renombrado.

    5. chmod a+x VectorDesigner

    Ahora, cuando hago doble clic en el ícono VectorDesigner, aparece la window "Hello World" y luego se inicia el progtwig original.

    Probablemente necesites cambiar los permissions del file, ese parece ser el problema.

    Terminal abierta:

     chmod +x /Applications/MATLAB_R2011b.app/Contents/MacOS/MATLAB_R2011b 

    En lugar de "hornear el zapato" el guión en el package de la aplicación, ¿qué hay de hacerlo al revés?

    1. Cree un script de shell que configure el entorno como desee y luego open aplicación original (con open por ejemplo). Dijiste que esto ya funciona
    2. Incruste el script de shell en un nuevo package de aplicaciones utilizando Platypus.
    3. (opcional) Incruste la aplicación original dentro de su nuevo package de aplicaciones y haga que su script la inicie allí.
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).