Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский
Aide de Scilab >> Entrées/Sorties > unix_g

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 — retourne le nom et la version de O.S
  • 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
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Feb 14 14:59:58 CET 2019