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]) [ierr, errormsg] = exec(..., 'errcatch' [,mode]) [ierr, errormsg, callstack] = exec(..., '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.
- errormsg
message d'erreur en cas d'erreur et que le d'argument
'errcatch'
est spécifié.- callstack
pile d'appel en cas d'erreur et que le d'argument
'errcatch'
est spécifié.
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 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 " //errormsg mputl('acosd(''d'');', TMPDIR+'/myscript') [_ b] = exec(TMPDIR+'/myscript', 'errcatch')
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 — évalue des expressions Scilab et concatène leurs résultats
- mode — sets or queries the mode echoing Scilab instructions in the console
- chdir — change le répertoire courant de Scilab
- pwd — affiche le répertoire courant de Scilab
Report an issue | ||
<< deff | Fonctions avancées | execstr >> |