exécute des instructions Windows, Linux ou MacOS : résultats dans des variables
rep = unix_g(commands) [rep, status] = unix_g(commands) [rep, status, msgerr] = unix_g(commands)
chaîne de caractères unique : instructions à exécuter.
colonne de texte : résultats normalement affichés en sortie standard.
nombre entier : code de résultat d'exécution. status==0 est retourné si aucune erreur ne s'est produite.
Colonne de texte : message d'erreur.
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 "".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 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. |
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') | ![]() | ![]() |