GNU/Linux >> Znalost Linux >  >> Linux

matlab spustí skript z příkazové řádky linuxu

Chcete-li spustit skript, můžete otevřít Matlab (jeho spuštění bez GUI můžete zabránit pomocí -nodisplay a -nodesktop flags), pak spusťte skript pomocí run a nakonec zavřete matlab pomocí exit .

To vše můžete provést z terminálu pomocí jediné instrukce:

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

Matlab však před spuštěním skriptu vydá uvítací zprávu do konzole. Chcete-li se zbavit uvítací zprávy, stačí přeskočit prvních 11 řádků (10 v závislosti na verzi Matlabu) pomocí tail -n +11

Vaše poslední instrukce tedy bude:

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

Počínaje verzí R2019a by pro váš skript test.m byla preferovaná metoda:

matlab -batch "test"

To má několik výhod, hlavně není potřeba všech -no flags a MATLAB se ukončí s nenulovým stavem, pokud test.m (musí být na vyhledávací cestě) obsahuje chybu.

Ze stránky dokumentace matlab (Linux):

Spustit skript, příkaz nebo funkci MATLABu neinteraktivně.MATLAB:

  • Spustí se bez plochy
  • Nezobrazuje úvodní obrazovku
  • Provede příkaz
  • Zakáže změny předvoleb
  • Zakáže ukládání do mezipaměti panelu nástrojů
  • Přihlásí text do stdout a stderr
  • Nezobrazuje dialogová okna
  • Automaticky se ukončí s kódem ukončení 0, pokud je script provede úspěšně. V opačném případě se MATLAB ukončí s nenulovým výstupním kódem.

prohlášení je kód MATLABu uzavřený do dvojitých uvozovek. Pokud prohlášení je název funkce nebo skriptu MATLABu, nezadávejte příponu souboru. Jakýkoli požadovaný soubor musí být na vyhledávací cestě MATLABu nebo ve spouštěcí složce.

Použijte -batch možnost v neinteraktivním skriptování nebo práci s příkazovým řádkem. Nepoužívejte tuto možnost s -r možnost.

Chcete-li otestovat, zda relace MATLABu běží v dávkovém režimu, zavolejte batchStartupOptionUsed funkce.

Příklad:-batch "myscript"


Vytvořil jsem základní skript shellu nazvaný runm a vložte mi do cesty:

$ runm mymatlab.m

Scénář:

# 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. 4 způsoby, jak odeslat e-mailovou přílohu z příkazového řádku systému Linux

  2. Migrace linuxového serveru z příkazového řádku

  3. Clonezilla z příkazového řádku

  1. Nakonfigurujte pracovní prostor Linuxu vzdáleně z příkazového řádku

  2. Prohledávejte torrenty z příkazového řádku v Linuxu

  3. Jak provést příkaz před přihlášením uživatele v systému Linux?

  1. Hlášení I/O z příkazového řádku Linuxu

  2. Spouštějte skripty Perl/PHP z příkazového řádku

  3. Linux Základy příkazového řádku – Spouštění příkazů z příkazového řádku