system, dos, unix
Exécution de commandes shell.
📝Syntaxe
status = system(command)
status = system(command, timeout)
status = dos(command)
status = unix(command)
status = unix(commands)
[status, output, duration] = system(command)
[status, output, duration] = dos(command)
[status, output, duration] = unix(command)
[status, output, duration] = system(command, '-echo')
[status, output, duration] = dos(command, '-echo')
[status, output, duration] = unix(command, '-echo')
[s, outputs, duration] = unix(commands)
[s, outputs, duration] = unix(commands, timeouts)
📥Arguments d'entrée
Paramètre Description
command une chaîne : commande à exécuter dans le shell.
commands une cellule de chaînes ou un tableau de chaînes : commandes à exécuter en parallèle dans le shell.
timeout un entier (scalaire) : arrêter le processus après le timeout en secondes.
timeouts un entier (scalaire : appliqué à toutes les commandes) ou un vecteur : timeout par commande en secondes.
📤Arguments de sortie
Paramètre Description
status un entier : code de sortie de la commande.
output une chaîne : sortie de la commande.
duration entier : durée (millisecondes).
s une matrice d'entiers : codes de sortie des commandes (mêmes dimensions que commands).
output un tableau de chaînes : sortie des commandes.
duration une matrice d'entiers : durée de chaque exécution (millisecondes).
📄Description

system envoie une chaîne au système d'exploitation pour exécution. La sortie standard et les erreurs standard de la commande shell sont écrites dans le shell appelant.

[status, output] = system(command, '-echo') force l'affichage de la sortie dans la fenêtre de commande, même si elle est également assignée à une variable.

Les fonctions de rappel (callbacks) ne peuvent pas être appelées tant que la commande system n'est pas terminée.

Nelson convertira les caractères vers l'encodage accepté par votre shell système (ANSI sur Windows par défaut, UTF-8 sur les autres systèmes).

La commande peut être interrompue avec la touche CTRL-C. Dans ce cas, le code de retour sera 258 (WAIT_TIMEOUT) sous Windows et 134 sur les autres plateformes (128 + SIGABRT) et la output contiendra 'ABORTED'.

Si la valeur timeout est 0, le timeout est désactivé.

💡Exemples
[s,w] = system('dir');
[s,w] = system('dir','-echo');
[s,w] = system(["echo hello", "dir", "echo world"])
tic();[s, w, d] = system(["PING -n 5 127.0.0.1>nul", "PING -n 7 127.0.0.1>nul", "PING -n 10 127.0.0.1>nul"]), toc()
tic();[s, w, d] = system(["PING -n 5 127.0.0.1>nul", "PING -n 7 127.0.0.1>nul", "PING -n 10 127.0.0.1>nul"], [1, 5, 3]), toc()
To detach an system command, include the trailing character, &, in the command argument.
[s,w] = system('notepad &');
🔗Voir aussi
winopen
🕔Historique des versions
Version Description
1.0.0 version initiale
Modifier cette page sur GitHub