Comment appeler MATLAB script en ligne de commande?

J'ai essayé d'appeler matlab depuis le Terminal (j'ai un Mac) et ont simplement exécuter un programme pour moi, sans écran ni rien, juste le programme. Ce programme affiche des graphiques et écrit un fichier texte pour moi de l'utiliser. J'ai trouvé plusieurs réponses précédentes sur cette question, et j'ai donc essayé:

   matlab -nodisplay -r foo 

   matlab -nodisplay -r foo.m 

   matlab -nojvm -nosplash -nodisplay -r foo;quit; 

   matlab -nojvm -nosplash -nodisplay -r "foo;quit;" 

   matlab -nojvm -nodesktop -r "foo;quit;" 

   matlab -nojvm -nodesktop -r
   "foo" 

   matlab -nojvm -nodesktop -nosplash -r foo

Presque à chaque fois, je l'ai essayer, je reçois la même réponse (si la ligne n'a tout simplement pas de provoquer l'invite à dire "cassez-vous" et de renoncer): le programme MATLAB fenêtre va s'ouvrir, et elle restera ouverte. Il va interagir normalement. Ligne de commande et de ne rien faire jusqu'à ce que je ferme la fenêtre. Le programme que je veux n'est pas exécutée. La fenêtre juste... là.

Si ça aide, c'est de cette façon que j'ai matlab codé dans mon bac:

#!/bin/bash                                                                                             

/Applications/MATLAB_R2015b.app/bin/matlab

Je n'ai aucune idée de ce qui se passe. Toute aide serait grandement appréciée.

Pourriez-vous essayer d'ajouter exit à votre fichier (foo.m) et en essayant matlab -nosplash -nojvm -nodesktop -r "foo".
À la fois avec et sans -nodisplay, c'est un no go.
Et le script fonctionne comme prévu lorsqu'il est appelé de manière interactive à partir de la gui matlab?
Et quel est le comportement attendu d'un script produisant des figures si les chiffres sont désactivés par un inexistante gui? BTW, le terminal ne pas être sensible tout en matlab exécute est parfaitement normal, dans linux, vous pouvez obtenir une invite de commande dos en arrière en mettant une esperluette (&) à la fin de votre commande (mais tuer le terminal processus peut tuer matlab cours d'exécution).
Le script fonctionne normalement lorsqu'il est appelé à partir de l'interface graphique.

OriginalL'auteur Breaking Bioinformatics | 2015-10-17