Próbuję uruchomić inną aplikację w skrypcie bash, ale wydaje się, że aplikacja wychodzi z mojego skryptu, więc wiersz exec $HOME/bin/sync-iosbeta; nie zostaje wykonany. Próbowałem również umieścić to na zewnątrz.

if $HOME/bin/BetaBuilder.app/Contents/MacOS/BetaBuilder --args -i "${zip}" -o "${odir}" -u "${ourl}" -r "$PROJECT_FOLDER/README.txt" ; then
    echo "Wil sync"
    exec $HOME/bin/sync-iosbeta;
fi

echo "This text does not get printed either..";

Próbowałem również użyć open do uruchomienia aplikacji, ale potem mam problemy z przekazaniem argumentów, nawet przy ustawionym --args.

Używam systemu Mac OS.

0
Andreas Aarsland 24 czerwiec 2011, 16:42

2 odpowiedzi

Najlepsza odpowiedź

Z instrukcji exec:

Jeśli podano polecenie, zastępuje powłokę. Nie jest tworzony żaden nowy proces.

Po prostu usuń exec i ";":

if $HOME/bin/BetaBuilder.app/Contents/MacOS/BetaBuilder --args -i "${zip}" -o "${odir}" -u "${ourl}" -r "$PROJECT_FOLDER/README.txt" ; then
    echo "Wil sync"
    $HOME/bin/sync-iosbeta
fi

echo "This text does not get printed either..";

Jeśli sync-iosbeta nie jest uruchamiany, być może nie ma odpowiednich uprawnień. Próbować:

if $HOME/bin/BetaBuilder.app/Contents/MacOS/BetaBuilder --args -i "${zip}" -o "${odir}" -u "${ourl}" -r "$PROJECT_FOLDER/README.txt" ; then
    echo "Wil sync"
    /bin/sh $HOME/bin/sync-iosbeta
fi

echo "This text does not get printed either..";
2
Francisco R 24 czerwiec 2011, 16:56
Rozumiem, usunąłem exec. ale potem wypisuje tylko: Nie znaleziono pliku. /package-app: line 94: /BetaBuilder.app/Contents/MacOS/BetaBuilder -i DeploymentTest-7910-7910.zip -o DeploymentTest-DeploymentTest-7910-7910 -u DeploymentTest-DeploymentTest-7910-7910: No such file or directory BetaBuilder encountered an error. Check system logs. Działa, jeśli uruchomię dokładnie to samo polecenie w terminalu. Dzięki za twoją odpowiedź!
 – 
Andreas Aarsland
24 czerwiec 2011, 17:10

To jest cały sens egzekutywy. man bash: Jeśli podano polecenie, zastępuje powłokę.

Po prostu usuń exec.

1
Karoly Horvath 24 czerwiec 2011, 16:47