Tengo un simple archivo Shell .sh
que copia los archivos del PWD a una carpeta de destino.
Esto es básicamente el instalador de un programa hecho a mano.
Quiero crear una APP a partir de ella.
La idea es tener la siguiente estructura de los archivos en el usuario:
- MyApp
- SourceFiles/
- MyInstaller.app
Algo así como:
#!/bin/sh
# Copying
cp -r './SourceFiles/.' '/DestFolder/SourceFiles/'
exit 0
He creado un Apple script ( MyInstaller.scpt
) que parece:
tell me to activate
display dialog "Run My Installer?" buttons {"Run", "Cancel"} default button 1
if the button returned of the result is "Run" then
do shell script "cp -r './SourceFiles/.' '/DestFolder/SourceFiles/' & exit 0;" with administrator privileges
display dialog "Finished Successfully!" buttons {"OK"} default button 1
end if
Lo compilo con osacompile -o MyInstaller.app MyInstaller.scpt
.
Entonces trato de ejecutar MyInstaller.app
no funciona.
Aunque si ejecuto el sh
Shell script de la misma ubicación funciona.
Tengo la sensación de que está relacionado con el PWD
de la APP cuando se ejecuta.
Así que hice el siguiente truco, compilé un .APP
del siguiente script:
do shell script "pwd > ~/Temp.txt & exit 0;"
Entonces vi en Temp.txt
que el PWD
es /
(A saber, root).
En efecto, si copio SourceFiles/
al Root y ejecutar la APP se copian los archivos correctamente.
¿Hay alguna manera de hacer que la APP del AppleScript se ejecute en relación con la ubicación del compilado APP
?