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


unix_g

exécute des instructions Windows, Linux ou MacOS : résultats dans des variables

Séquence d'appel

rep = unix_g(commands)
[rep, status] = unix_g(commands)
[rep, status, msgerr] = unix_g(commands)

Arguments

commands

chaîne de caractères unique : instructions à exécuter.

rep

colonne de texte : résultats normalement affichés en sortie standard.

status

nombre entier : code de résultat d'exécution. status==0 est retourné si aucune erreur ne s'est produite.

msgerr

Colonne de texte : message d'erreur.

Description

unix_g() ouvre une nouvelle session de l'interpréteur de commandes du système d'exploitation (OS) (sh avec Linux, cmd.exe avec MS Windows, etc..), lui envoie les instructions commands, attend le traitement de celles-ci, reçoit les messages de résultats standard ou le possible message d'erreur générés lors du traitement, et ferme la session de l'interpréteur.

Le dossier de travail initial et les variables d'environnement de la session OS ouverte sont établis comme pour host().

Les résultats standard habituellement affichés dans le terminal de l'interpréteur sont capturés et stockés en colonne texte dans la variable rep.

Si commands comporte une instruction erronée,

  • rep vaut "".
  • Si la variable de sortie msgerr est indiquée, le message d'erreur normalement affiché dans le terminal de l'interpréteur est capturé et enregistré dans celle-ci. Sinon, le message d'erreur est affiché dans la console Scilab.
  • Les instructions suivant celle erronée sont ignorées.
  • Les opérations effectuées par les instructions valides figurant dans commands avant l'instruction erronée demeurent réelles (par exemple, fichiers supprimés). Leurs compte-rendus ou résultats d'exécution affichables sont cependant ignorés et perdus. Les instructions multiples sont déconseillées. Elles sont souvent plus difficiles à déboguer.

Exemples

function d=DIR(path)
  path=pathconvert(path,%t,%t)
  if getos() == 'Windows' then
    d = unix_g('dir '+path)
  else
    d = unix_g('ls '+path)
  end
endfunction

DIR('SCI/etc')

Voir aussi

  • unix_s — exécute des instructions Windows, Linux ou MacOS : résultats masqués (mode Silencieux)
  • unix_w — exécute des instructions Windows, Linux ou MacOS : résultats dans la console Scilab
  • unix_x — exécute des instructions Windows, Linux ou MacOS : résultats dans une fenêtre d'information
  • host — exécute une commande Windows, Linux, ou MacOS
  • getos — donne le nom et la version du système d'exploitation
  • setenv — fixe la valeur d'une variable d'environnement
  • powershell — executes a command with the Windows powershell interpreter (Windows only)
  • Liste de codes de sortie MS Windows
Report an issue
<< setenv OS_commands unix_s >>

Copyright (c) 2022-2024 (Dassault Systèmes)
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:
Mon May 22 12:39:43 CEST 2023