GNU/Linux >> Tutoriels Linux >  >> Linux

matlab exécute le script à partir de la ligne de commande linux

Pour exécuter un script, vous pouvez ouvrir Matlab (vous pouvez empêcher de l'exécuter sans l'interface graphique en utilisant -nodisplay et -nodesktop flags), puis exécutez le script en utilisant le run commande, et enfin fermez matlab en utilisant exit .

Vous pouvez faire tout cela depuis un terminal avec une seule instruction :

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

Cependant, Matlab affiche le message de bienvenue sur la console avant d'exécuter votre script. Pour vous débarrasser du message de bienvenue, sautez simplement les 11 premières lignes (10 selon votre version de Matlab) en utilisant tail -n +11

Votre instruction finale sera donc :

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

À partir de R2019a, la méthode préférée serait, pour votre script test.m :

matlab -batch "test"

Cela présente plusieurs avantages, principalement pas besoin de tous les -no flags et MATLAB sortira avec un statut différent de zéro si test.m (doit être sur le chemin de recherche) contient une erreur.

Depuis la page de documentation, matlab (Linux) :

Exécutez le script, l'instruction ou la fonction MATLAB de manière non interactive.MATLAB :

  • Commence sans le bureau
  • N'affiche pas l'écran de démarrage
  • Exécute l'instruction
  • Désactive les modifications des préférences
  • Désactive la mise en cache de la boîte à outils
  • Enregistre le texte dans stdout et stderr
  • N'affiche pas les boîtes de dialogue
  • Sortie automatiquement avec le code de sortie 0 si script s'exécute avec succès. Sinon, MATLAB se termine avec un code de sortie différent de zéro.

déclaration est le code MATLAB entre guillemets doubles. Si instruction est le nom d'une fonction ou d'un script MATLAB, ne spécifiez pas l'extension de fichier. Tout fichier requis doit se trouver sur le chemin de recherche MATLAB ou dans le dossier de démarrage.

Utilisez le -batch option dans les scripts non interactifs ou les flux de travail en ligne de commande. Ne pas utiliser cette option avec le -r option.

Pour tester si une session de MATLAB s'exécute en mode batch, appelez le batchStartupOptionUsed fonction.

Exemple :-batch "myscript"


J'ai créé un script shell de base appelé runm et mets sur mon chemin :

$ runm mymatlab.m

Scénario :

# 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. Configurer un espace de travail Linux à distance depuis la ligne de commande

  2. 4 façons d'envoyer une pièce jointe à partir de la ligne de commande Linux

  3. Rapports d'E/S à partir de la ligne de commande Linux

  4. Comment exécuter la commande avant la connexion de l'utilisateur sous Linux ?

  5. exécuter la commande sudo sur linux à partir de plink.exe[windows]

Comment redémarrer (redémarrer) Linux à partir de la ligne de commande

Comment vérifier les détails météorologiques à partir de la ligne de commande sous Linux

Comment régler la luminosité du moniteur à partir de la ligne de commande sous Linux

Copier un fichier dans plusieurs répertoires à partir de la ligne de commande sous Linux

Comment vérifier les statistiques du réseau Linux à partir de la ligne de commande

Envoyer un e-mail sous Linux à partir de la ligne de commande