Llamar una aplicación desde el terminal a través de un script

3

Intento llamar a una aplicación desde la consola y pasarle un argumento. Este es el script que estoy usando:

#!/bin/sh

open -a "/Applications/MyApp.app/" $1

De alguna manera, el sistema operativo no está contento con esto y se queja:

FSPathMakeRef(/Applications/MyApp.app) failed with error -43.

¿Qué puedo hacer?

    
pregunta Stefan Müller 12.09.2014 - 09:19

2 respuestas

3

Parece que /Applications/MyApp.app en realidad no existe.

Puedes probar eso en tu script, quizás de esta forma:

#!/bin/sh
APP=/Applications/MyApp.app
if [ ! -d "$APP" ]; then
  echo >&2 "$0: $APP not found."
  exit 1
fi
exec open -a "$APP" "$@"
    
respondido por el Mark Reed 13.09.2014 - 20:51
3

¡Puede asegurarse de que la aplicación exista antes de llamar a open en ella! Aquí hay un poco de Bash para hacer esto:

if [ -d "/Applications/MyApp.app" ]; then
    open -a "/Applications/MyApp.app"
else
    echo "Application /Applications/MyApp.app does not exist!"
fi
    
respondido por el Ian C. 13.09.2014 - 22:30

Lea otras preguntas en las etiquetas