Ich habe versucht, Matlab von Terminal (ich habe einen Mac) aufzurufen und habe es einfach ein Programm für mich laufen lassen, ohne Display oder irgendetwas, nur das Programm. Dieses Programm zeigt Graphen an und schreibt eine Textdatei für mich. Ich habe einige der vorherigen Antworten zu dieser Frage gefunden, und so habe ich es versucht:
%Vor%So ziemlich jedes Mal, wenn ich es versuche, bekomme ich immer die gleiche Antwort (wenn die Zeile einfach nicht dazu führt, dass die Aufforderung "Schraube dich" sagt und aufgibt): das eigentliche MATLAB-Programm Fenster wird geöffnet, und es bleibt offen. Es wird normal interagieren. Und die Befehlszeile wird nichts tun, bis ich das Fenster schließe. Das Programm, das ich möchte, läuft nicht. Das Fenster einfach ... sitzt da.
Wenn es hilft, habe ich matlab
in meiner Bin codiert:
Ich habe keine Ahnung, was vor sich geht. Jede Hilfe würde sehr geschätzt werden.
Ihr Skript bash
zum Aufrufen von Matlab übergibt keine Argumente an die Matlab-Programmdatei. Wenn Sie
Was tatsächlich aufgerufen wird, ist
%Vor% ohne die Argumente. Es gibt mehrere Möglichkeiten, dies zu beheben, während Sie einfach matlab
aufrufen können. Alternativ könnten Sie den vollständigen Pfad zu matlab
like
matlab
Executable Da Sie bereits ein Skript bash
zum Aufrufen von matlab
geschrieben haben, ist es am einfachsten, es so zu ändern, dass es den $@
bash
Platzhalter wie
Das Platzhalterzeichen $@
übergibt alle von Ihnen verwendeten Parameter wie -nodesktop -nosplash -r "foo"
an die ausführbare Datei matlab
, was nun tatsächlich aufgerufen wird, ist
Ich empfehle Ihnen, das Skript matlab
bash
in /usr/local/bin
zu platzieren und sicherzustellen, dass sich /usr/local/bin
in PATH
befindet. Das Verzeichnis /usr/local/
ist für von Benutzern installierte Skripts im Gegensatz zu systeminstallierten Skripts. Sie können überprüfen, welche Verzeichnisse in Ihrem PATH
mit
und Sie sollten eine Ausgabe ähnlich der oben mit /usr/local/bin
vorhanden sehen. Das Skript bash
sollte ebenfalls ausführbar sein. Sie können dies mit
Hinweis : OS X El Capitan hat starke Einschränkungen für die Installation von Skripts über die neue Schutz der Systemintegrität .
matlab
Eine andere Methode, die der Erstellung des Skripts bash
ähnelt, besteht darin, eine symbolische Verknüpfung zur ausführbaren Datei matlab
zu erstellen. Dies sollte wieder in /usr/local/bin
Auch für diese Methode müssen Sie sicherstellen, dass sich /usr/local/bin
in Ihrem PATH
befindet.
matlab
zum PATH
Eine alternative Methode besteht darin, das Verzeichnis, in dem sich die ausführbare Datei matlab
befindet, einfach zu Ihrer PATH
hinzuzufügen. Sie können dies tun, indem Sie Ihre .bash_profile
(oder .bashrc
) Datei ändern. Ihre .bash_profile
-Datei befindet sich in Ihrem Home-Verzeichnis unter ~/.bash_profile
. Es wird jedes Mal ausgeführt, wenn Ihr Benutzer das Terminal öffnet. Um matlab
zum PATH
hinzuzufügen, fügen Sie einfach
dazu. Jetzt können Sie matlab
mit
und dies wird die ausführbare matlab
in /Applications/MATLAB_R2015b.app/bin/
lokalisieren und sie mit
Nachdem Sie Ihre .bash_profile
Datei geändert haben, müssen Sie sie mit
oder starten Sie das Terminal neu, damit die Änderungen wirksam werden.
Hinweis : Ich bevorzuge es, die Datei .bashrc
anstelle von .bash_profile
zu ändern, weil ich .bashrc
auch unter Linux verwende. Ich habe meine .bash_profile
Datei eingerichtet, um meine .bashrc
Datei
Hinweis : Wenn Sie möchten, dass matlab
für jeden Benutzer und nicht nur für Ihren Benutzer verfügbar ist, müssen Sie
für die systemweite Datei /etc/profile
.
matlab
Die letzte Methode, die ich erwähnen werde, ist das Erstellen eines Alias für matlab
. Dies tun wir, indem wir unsere Datei .bash_profile
(oder .bashrc
) erneut modifizieren und anfügen
dazu. Nachdem wir die Änderungen vorgenommen haben, müssen wir sie erneut mit
laden %Vor% oder starten Sie das Terminal neu, damit die Änderungen wirksam werden. Und wenn matlab
für jeden Benutzer und nicht nur für Ihren Benutzer verfügbar sein soll, müssen Sie die systemweite /etc/profile
-Datei ändern.
matlab
vom Terminal Jetzt haben wir matlab
eingerichtet, um bequem vom Terminal mit dem einfachen Befehl
Wir können uns anschauen, wie wir Skripte ausführen. Um ein Matlab-Skript auszuführen, müssen wir uns zuerst in dem Verzeichnis befinden, in dem sich das Skript befindet, oder in unserem Matlab PATH
. Ich gehe davon aus, dass es nicht in Ihrem Pfad ist und so werden wir cd
auf das richtige Verzeichnis
Um nun matlab
ohne den Desktop auszuführen, fordert MathWorks -nojvm -nodisplay -nosplash
an, aber wenn wir -nojvm
und / oder -nodisplay
verwenden, können wir keine Graphen anzeigen. Also legen wir -nojvm
ab und ersetzen -nodisplay
durch -nodesktop
und verwenden -nodesktop -nosplash
. Dies wird Matlab ohne eine Anzeige starten und uns erlauben, Graphen anzuzeigen. Der korrekte Befehl, matlab
ohne die vollständige Desktop-GUI auszuführen und gleichzeitig Grafiken anzuzeigen, ist
Jetzt können Sie das Terminal (Eingabeaufforderung) als Matlab-Befehlsfenster verwenden und Befehle normal ausführen. Zum Beispiel könnten wir foo
nennen %Vor% Alternativ können wir die Option -r
für die ausführbare Datei matlab
verwenden, um Befehle zur Ausführung von Matlab zu übergeben. Diese müssen korrekt zitiert werden und eine gültige Matlab-Syntax haben . Unser Befehl, Matlab mit unseren vorherigen Optionen zu starten und das Skript foo.m
auszuführen, wird zu
Beiseite : Wenn wir zum Beispiel
verwenden würden %Vor% (beachte die Verwendung von exit;
), dies würde Matlab starten, foo.m
ausführen, die Graphen anzeigen und dann Matlab beenden, um die Graphen zu schließen.
Du solltest es tun können
%Vor% Mit anderen Worten: Verwenden Sie das Zeichen <
, um in Linux umzuleiten.