External shell scripts in compiled GUI

1 回表示 (過去 30 日間)
Micah
Micah 2011 年 10 月 11 日
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 件のコメント
Walter Roberson
Walter Roberson 2011 年 10 月 11 日
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 2011 年 10 月 11 日
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.

サインインしてコメントする。

採用された回答

Micah
Micah 2011 年 10 月 18 日
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).

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFile Operations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by