External shell scripts in compiled GUI

1 visualización (últimos 30 días)
Micah
Micah el 11 de Oct. de 2011
I have a set of GUIs that call external shell scripts. I am calling them using unix(./script.sh) or system(./script.sh). I have to use shell scripts because I want to use a lot of awk commands and then pass those arguements to external java programs. This all works perfectly in MATLAB, but when I compile teh GUI, none of the scripts can run. I am including the scripts in the build file, but they do not seem to work. Any advice? Has anyone done this and can walk me through a simple example?
Thanks, Micah
  3 comentarios
Walter Roberson
Walter Roberson el 11 de Oct. de 2011
One of the things to check would be your PATH environment variable: the GUI might be using a quite different PATH than your MATLAB session would have.
Micah
Micah el 11 de Oct. de 2011
I can see that the .app 'thinks' it is in just / (root) when I add unix('pwd') to the code, but I am unwilling to force end users to add all these shell scripts to their root directories. Any advice? I thought that by adding those scripts to the batch, it would automatically include them in the path, but that seems to be untrue.

Iniciar sesión para comentar.

Respuesta aceptada

Micah
Micah el 18 de Oct. de 2011
I figured it out - for future reference, the best sequence of steps seems to be: Use file paths that are NOT relative to installation directory First, compile ONLY the .m files (not the .sh or .jar that will have to be called) The, when packaging, just package the .sh and .jar, keeping their directories in the same position relative to the .m (so select the entire directories to package, not each individual .sh or .jar).

Más respuestas (0)

Categorías

Más información sobre File Operations en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by