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 - 日本語 - Русский

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> Fonctions avancées > exec

exec

exécution d'un script (fichier de commandes)

Séquence d'appel

exec(path [,mode])
exec(fun [,mode])
ierr = exec(path, 'errcatch' [,mode])
ierr = exec(fun, 'errcatch' [,mode])

Paramètres

path

chaîne de caractères, le chemin du script à exécuter.

mode

entier, précisant le mode d'exécution (voir plus bas).

fun

identificateur d'une fonction scilab.

ierr

entier, 0 ou numéro d'erreur.

Description

exec(path [,mode]) exécute séquentiellement les instructions Scilab contenues dans le fichier spécifié par path avec le mode d'exécution optionnel mode .

Les différentes valeurs de mode sont :

0

valeur par défaut

-1

rien n'est affiché

1

chaque ligne de commande est affichée

2

l'invite de commande --> est affiché

3

lignes de commandes + invite de commande

4

pause dans l'exécution au début de chaque ligne. L'exécution reprend après un appui sur la touche entrée/return.

7

pause + invite + affichage : ce mode est utile pour les démonstrations.

exec(fun [,mode]) exécute la fonction fun comme un script : aucun argument n'est utilisé en entrée ou en sortie, et l'exécution se fait dans l'environnement courant (les variables créées dans la fonction sont conservées après l'exécution). Cette forme est plus efficace, car ainsi les instructions du script peuvent être pré-compilées (voir comp). Cette méthode d'exécution des scripts permet aussi de stocker des scripts comme des fonctions dans des bibliothèques.

Si une erreur se produit pendant l'exécution, si la chaîne de caractères 'errcatch' est présente, exec ne produit pas de message d'erreur, mais stoppe l'exécution du script et renvoie une valeur de ierr égale au numéro de l'erreur. Si la chaîne 'errcatch' n'est pas présente, la gestion habituelle des erreurs est utilisée.

REMARQUES

Les scripts peuvent maintenant contenir des définitions de fonctions en ligne (voir fonction).

exec prend en charge les fichiers encodés aux formats ANSI/ASCII et UTF-8.

La longueur des lignes des fichiers est limitée à 4096 caractères.

Exemples

// création d'un script
mputl('a=1;b=2',TMPDIR+'/myscript')

// on l'exécute
exec(TMPDIR+'/myscript')
whos -name "a "

// création d'une function
function y=foo(x),a=x+1;y=a^2,endfunction
clear a b

// appel à la fonction
foo(1)

// a est une variable créée dans l'environnement de la fonction foo
// elle est détruite à la sortie de la fonction.
whos -name "a "

x=1 // on crée la variable x pour qu'elle soit connue à l'exécution de foo
exec(foo)

// a et y ont été créées dans l'environnement courant
whos -name "a "
whos -name "y "

Voir aussi

  • exec — exécution d'un script (fichier de commandes)
  • execstr — exécution d'instructions Scilab contenues dans des chaînes de caractères
  • evstr — évaluation d'une expression
  • comp — pré-interprétation ou "compilation" de fonctions Scilab
  • mode — choisit le mode d'exécution des scripts et des fonctions
  • chdir — change le répertoire courant de Scilab
  • pwd — affiche le répertoire courant de Scilab
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:54:44 CEST 2014