¿Cómo obtengo la ruta de la aplicación en su script de inicio?

1

Hice una aplicación siguiendo estos pasos

  1. Hacer carpeta Foo.app
  2. Crear subcarpeta Contents
  3. Poner Info.Plist en Contents con

    ...
    <key>CFBundleExecutable</key>
    <string>Foo</string>
    ...
    
  4. Haz MacOS/Foo como un script de shell ejecutable

Foo se ve como

#!/bin/sh
echo $0 > /Users/me/temp/foo1
pwd > /Users/me/temp/foo2
export > /Users/me/temp/foo3

Al hacer clic en la aplicación en el buscador, verifique los resultados. Los resultados son, foo1 está vacío, foo2 es solo / y foo3 se ve como

export Apple_PubSub_Socket_Render="/private/tmp/com.apple.launchd.FgQwJ5EVCp/Render"
export HOME="/Users/me"
export LOGNAME="me"
export OLDPWD
export PATH="/usr/bin:/bin:/usr/sbin:/sbin"
export PWD="/"
export SHELL="/bin/zsh"
export SHLVL="1"
export SSH_AUTH_SOCK="/private/tmp/com.apple.launchd.4hbrl5p8fp/Listeners"
export TMPDIR="/var/folders/7h/wyw4jhd933z5jmqzsdx6r0sr0000gn/T/"
export USER="me"
export __CF_USER_TEXT_ENCODING="0x1F5:0x0:0x0"

No hay referencias a /Applications/Foo.app en ninguna parte

¿Ahora obtengo la ruta a mi aplicación en el script de inicio?

    
pregunta gman 29.01.2017 - 16:34

1 respuesta

1

Puedes usar este código:

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo $DIR >  /Users/me/temp/outLog.txt

Le dará una ruta a la carpeta MacOS de su aplicación.

Aquí hay un gran stackoverflow answer acerca de esto.

    
respondido por el Mateusz Szlosek 29.01.2017 - 22:02

Lea otras preguntas en las etiquetas