External shell scripts in compiled GUI

1 vue (au cours des 30 derniers jours)
Micah
Micah le 11 Oct 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 commentaires
Walter Roberson
Walter Roberson le 11 Oct 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 le 11 Oct 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.

Connectez-vous pour commenter.

Réponse acceptée

Micah
Micah le 18 Oct 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).

Plus de réponses (0)

Catégories

En savoir plus sur File Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by