Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2026.0.0 - Français


host

exécute une commande Windows, Linux, ou MacOS

unix

alias de host()

Syntax

[status, stdout, stderr] = host(commands, echo=%f)

Arguments

commands

texte unique constitué d'instructions à soumettre à l'interpréteur de commandes du système d'exploitation pour exécution.

echo

Un booléen: Argument nommé optionnel utilisé pour afficher les sorties standards dans la console Scilab.

status

Un entier: code de sortie retourné par l'interpréteur de commande.

stdout

Chaîne de caractère qui contient la sortie standard de la commande exécutée. Lorsque la fonction est appelée avec deux arguments de sortie, stdout contient les deux sorties standards stdout et stderr.

stderr

Chaîne de caractère qui contient la sortie d'erreur de la commande exécutée.

Description

host(…) créée une session de l'interpréteur de commande du système d'exploitation (OS) (sh avec Linux et macOS, cmd.exe avec Windows, etc..) pour exécuter la commande.

host(…) retourne les deux sorties standards dans la même sortie lorsque la fonction a été appelée avec deux arguments de sortie. Ceci permet de garder l'ordre chronologique des logs entre stdout et stderr.

En utilisant l'argument nommé optionnel echo=%t, les deux sortie standards seront afficher dans la console Scilab pendant l'exécution de la commande.

La session de l'interpréteur de commandes créée est un clône de la session OS depuis laquelle Scilab a été lancé. En conséquence, son contexte est le suivant :
  • Son dossier initial de travail (CWD) est le dossier de travail de la session Scilab lors de l'appel à host(…).
  • Ses variables d'environnement initiales sont identiques (noms et valeurs) à celles du terminal OS dans lequel la session Scilab fonctionne (consolebox), au moment où host() est appelée. Elles peuvent être modifiées avec setenv avant l'appel à host().
  • Toute modification dans la session host() du dossier de travail et/ou des variables d'environnement n'a aucun effet ni sur le dossier de travail de la session Scilab, ni sur les variables d'environnement du terminal OS dans lequel la session Scilab fonctionne.
  • Quand la fonction est appelée avec 3 sorties elle attend la fin de l'exécution de la commande.
  • Lorsque la fonction est appelée avec deux ou trois arguments de sortie, elle attendra la fin de l'execution de la commande pour retourner les sorties.

Examples

Utilisation des variables d'environnements définies par Scilab
disp(SCI)
if getos() == "windows" then
    [stat, stdout] = host("echo %SCI%")
else
    [stat, stdout] = host("echo $SCI")
end
Jouer avec les sorties
// get separated stdout and stderr
[stat, stdout, stderr] = host("echo OK && echo KO 1>&2 && echo END")
// get both outputs keeping chronological order
[stat, stdout] = host("echo OK && echo KO 1>&2 && echo END")
Commande détachée
// Detach a command to avoid waiting for its end
host("ping -c 3 localhost &")
// But, this command will wait for outputs
[stat, stdout] = host("ping -c 3 localhost &")
Forcer les sorties de commande dans la console Scilab
host("ping -c 3 localhost", echo=%t)

Voir aussi

History

VersionDescription
2025.1.0 Retourne la sortie standard et la sortie d'erreur.
2026.0.0 Un argument nommé facultatif 'echo' a été ajouté.
Report an issue
<< getpid OS_commands scilab >>

Copyright (c) 2022-2025 (Dassault Systèmes S.E.)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 16 09:08:43 CEST 2025