GNU/Linux >> LINUX-Kenntnisse >  >> Linux

matlab Skript von der Linux-Befehlszeile ausführen

Um ein Skript auszuführen, können Sie Matlab öffnen (Sie können die Ausführung ohne die GUI mit -nodisplay verhindern und -nodesktop Flags), führen Sie dann das Skript mit run aus Befehl, und schließen Sie schließlich matlab mit exit .

All dies können Sie von einem Terminal aus mit einer einzigen Anweisung erledigen:

matlab -nodisplay -nosplash -nodesktop -r "run('path/to/your/script.m');exit;"

Matlab gibt jedoch die Willkommensnachricht an die Konsole aus, bevor Ihr Skript ausgeführt wird. Um die Begrüßungsnachricht loszuwerden, überspringen Sie einfach die ersten 11 Zeilen (10 abhängig von Ihrer Matlab-Version) mit tail -n +11

Ihre letzte Anweisung lautet also:

matlab -nodisplay -nosplash -nodesktop -r "run('path/to/your/script.m');exit;" | tail -n +11

Ab R2019a wäre die bevorzugte Methode für Ihr test.m-Skript:

matlab -batch "test"

Dies hat mehrere Vorteile, vor allem keine Notwendigkeit für alle -no Flags und MATLAB wird mit einem Nicht-Null-Status beendet, wenn test.m (muss im Suchpfad sein) enthält einen Fehler.

Von der Dokumentationsseite, matlab (Linux):

Führen Sie MATLAB-Skripte, -Anweisungen oder -Funktionen nicht interaktiv aus.MATLAB:

  • Startet ohne Desktop
  • Der Begrüßungsbildschirm wird nicht angezeigt
  • Führt Anweisung aus
  • Deaktiviert Änderungen an Einstellungen
  • Deaktiviert das Toolbox-Caching
  • Protokolliert Text in stdout und stderr
  • Zeigt keine Dialogfelder an
  • Beendet automatisch mit Exit-Code 0, wenn Skript erfolgreich ausgeführt. Andernfalls wird MATLAB mit einem Exit-Code ungleich Null beendet.

Erklärung ist MATLAB-Code, der in doppelte Anführungszeichen eingeschlossen ist. If Anweisung der Name einer MATLAB-Funktion oder eines Skripts ist, geben Sie die Dateierweiterung nicht an. Jede erforderliche Datei muss sich im MATLAB-Suchpfad oder im Autostart-Ordner befinden.

Verwenden Sie den -batch Option in nicht interaktiven Scripting- oder Befehlszeilenabläufen. Verwenden Sie diese Option nicht mit -r Option.

Um zu testen, ob eine Sitzung von MATLAB im Stapelmodus ausgeführt wird, rufen Sie batchStartupOptionUsed auf Funktion.

Beispiel:-batch "myscript"


Ich habe ein einfaches Shell-Skript mit dem Namen runm erstellt und trage meinen Pfad ein:

$ runm mymatlab.m

Skript:

# simple script to run matlab script
if [ $# -eq 0 ]
  then
    echo "please pass m script"
fi

matlab -nodisplay -nosplash -nodesktop -r "run('$1');"

Linux
  1. E/A-Berichte über die Linux-Befehlszeile

  2. Wie führe ich einen Befehl vor der Benutzeranmeldung unter Linux aus?

  3. Migrieren eines Linux-Servers über die Befehlszeile

  4. Grundlagen der Linux-Befehlszeile – Ausführen von Befehlen über die Befehlszeile

  5. Führen Sie den sudo-Befehl unter Linux von plink.exe [Windows] aus

So starten (rebooten) Sie Linux von der Befehlszeile aus

So überprüfen Sie Wetterdetails von der Befehlszeile in Linux

So passen Sie die Monitorhelligkeit über die Befehlszeile in Linux an

Kopieren Sie eine Datei in mehrere Verzeichnisse von der Befehlszeile unter Linux

So überprüfen Sie die Linux-Netzwerkstatistik über die Befehlszeile

Senden Sie E-Mail in Linux von der Befehlszeile aus