Come ottengo il percorso dell'app nel suo script di avvio?

1

Ho creato un'app seguendo questi passaggi

  1. Crea cartella Foo.app
  2. Crea sottocartella Contents
  3. Metti Info.Plist in Contents con

    ...
    <key>CFBundleExecutable</key>
    <string>Foo</string>
    ...
    
  4. Crea MacOS/Foo come script di shell eseguibile

Foo assomiglia a

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

Facendo clic sull'app nel Finder, verificando i risultati. I risultati sono, foo1 è vuoto, foo2 è solo / e foo3 sembra

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"

Nessun riferimento a /Applications/Foo.app ovunque

Ora ho il percorso per la mia app nello script di avvio?

    
posta gman 29.01.2017 - 16:34
fonte

1 risposta

1

Puoi utilizzare questo codice:

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

Ti darà il percorso verso la cartella MacOS dell'app.

Ecco l'ottimo risposta StackOverflow su questo.

    
risposta data 29.01.2017 - 22:02
fonte

Leggi altre domande sui tag