GNU/Linux >> Tutoriales Linux >  >> Linux

matlab ejecuta el script desde la línea de comando de Linux

Para ejecutar un script, puede abrir Matlab (puede evitar ejecutarlo sin la GUI usando -nodisplay y -nodesktop banderas), luego ejecute el script usando el run comando, y finalmente cierre matlab usando exit .

Puedes hacer todo esto desde una terminal con una sola instrucción:

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

Sin embargo, Matlab envía el mensaje de bienvenida a la consola antes de ejecutar el script. Para deshacerse del mensaje de bienvenida, salte las primeras 11 líneas (10 dependiendo de su versión de Matlab) usando tail -n +11

Entonces su instrucción final será:

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

A partir de R2019a, el método preferido sería, para su secuencia de comandos test.m:

matlab -batch "test"

Esto tiene varias ventajas, principalmente que no se necesitan todos los -no flags y MATLAB saldrá con un estado distinto de cero si test.m (debe estar en la ruta de búsqueda) contiene un error.

Desde la página de documentación, matlab (Linux):

Ejecutar secuencias de comandos, instrucciones o funciones de MATLAB de forma no interactiva. MATLAB:

  • Comienza sin el escritorio
  • No muestra la pantalla de bienvenida
  • Ejecuta sentencia
  • Desactiva los cambios en las preferencias
  • Deshabilita el almacenamiento en caché de la caja de herramientas
  • Registra texto en stdout y stderr
  • No muestra cuadros de diálogo
  • Sale automáticamente con el código de salida 0 si script se ejecuta con éxito. De lo contrario, MATLAB termina con un código de salida distinto de cero.

declaración es el código de MATLAB entre comillas dobles. Si declaración es el nombre de una función o script de MATLAB, no especifique la extensión del archivo. Cualquier archivo requerido debe estar en la ruta de búsqueda de MATLAB o en la carpeta de inicio.

Usa el -batch opción en secuencias de comandos no interactivas o flujos de líneas de comandos. No use esta opción con el -r opción.

Para probar si una sesión de MATLAB se está ejecutando en modo por lotes, llame al batchStartupOptionUsed función.

Ejemplo:-batch "myscript"


Creé un script de shell básico llamado runm y poner en mi camino:

$ runm mymatlab.m

Guió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. Configurar un espacio de trabajo de Linux de forma remota desde la línea de comandos

  2. 4 formas de enviar archivos adjuntos de correo electrónico desde la línea de comandos de Linux

  3. ¿Cómo ejecutar el comando antes del inicio de sesión del usuario en Linux?

  4. Ejecute scripts Perl/PHP desde la línea de comandos

  5. Conceptos básicos de la línea de comandos de Linux:ejecución de comandos desde la línea de comandos

Cómo reiniciar (reiniciar) Linux desde la línea de comandos

Cómo verificar los detalles del clima desde la línea de comandos en Linux

Cómo ajustar el brillo del monitor desde la línea de comandos en Linux

Copie un archivo a varios directorios desde la línea de comandos en Linux

Cómo comprobar las estadísticas de red de Linux desde la línea de comandos

Enviar correo electrónico en Linux desde la línea de comandos