GNU/Linux >> Linux Esercitazione >  >> Linux

matlab esegue lo script dalla riga di comando linux

Per eseguire uno script puoi aprire Matlab (puoi impedire di eseguirlo senza la GUI usando -nodisplay e -nodesktop flags), quindi eseguire lo script utilizzando il run comando e infine chiudi matlab usando exit .

Puoi fare tutto questo da un terminale con una sola istruzione:

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

Tuttavia Matlab invia il messaggio di benvenuto alla console prima di eseguire lo script. Per eliminare il messaggio di benvenuto basta saltare le prime 11 righe (10 a seconda della versione di Matlab) usando tail -n +11

Quindi la tua istruzione finale sarà:

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

A partire da R2019a, il metodo preferito sarebbe, per il tuo script test.m:

matlab -batch "test"

Questo ha diversi vantaggi, principalmente non c'è bisogno di tutti i -no flag e MATLAB uscirà con uno stato diverso da zero se test.m (deve essere nel percorso di ricerca) contiene un errore.

Dalla pagina della documentazione, matlab (Linux):

Esegui lo script, l'istruzione o la funzione MATLAB in modo non interattivo.MATLAB:

  • Si avvia senza il desktop
  • Non visualizza la schermata iniziale
  • Esegue istruzione
  • Disabilita le modifiche alle preferenze
  • Disabilita la memorizzazione nella cache della casella degli strumenti
  • Registra il testo in stdout e stderr
  • Non visualizza le finestre di dialogo
  • Esce automaticamente con codice di uscita 0 se script viene eseguito con successo. Altrimenti, MATLAB termina con un codice di uscita diverso da zero.

dichiarazione è il codice MATLAB racchiuso tra virgolette doppie. If istruzione è il nome di una funzione o di uno script MATLAB, non specificare l'estensione del file. Qualsiasi file richiesto deve trovarsi nel percorso di ricerca MATLAB o nella cartella di avvio.

Usa -batch opzione negli script non interattivi o nei flussi di riga di comando. Non utilizzare questa opzione con -r opzione.

Per verificare se una sessione di MATLAB è in esecuzione in modalità batch, chiama batchStartupOptionUsed funzione.

Esempio:-batch "myscript"


Ho creato uno script di shell di base chiamato runm e inserisci nel mio percorso:

$ runm mymatlab.m

Sceneggiatura:

# 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. Report di I/O dalla riga di comando di Linux

  2. Esegui script Perl/PHP dalla riga di comando

  3. Migrazione di un server Linux dalla riga di comando

  4. Nozioni di base sulla riga di comando di Linux:esecuzione di comandi dalla riga di comando

  5. eseguire il comando sudo su Linux da plink.exe[windows]

Come riavviare (riavviare) Linux dalla riga di comando

Come controllare i dettagli meteorologici dalla riga di comando in Linux

Come regolare la luminosità del monitor dalla riga di comando in Linux

Copia un file in più directory dalla riga di comando su Linux

Come controllare le statistiche di rete Linux dalla riga di comando

Invia e-mail in Linux dalla riga di comando