Guillemets
Les guillemets sont utilisés dans le shell EFI pour regrouper des arguments. Lorsqu'une
chaîne est indiquée entre guillemets dans une commande, elle est traitée comme un seul
argument. Les espaces inclus dans cette chaîne sont considérés comme faisant partie de
cet argument.
Lorsqu'une variable d'environnement est mise entre guillemets, cela n'a aucune influence
sur son déréférencement. Les guillemets doubles "" sont utilisés pour identifier des
chaînes. Les guillemets simples ne subissent aucun traitement particulier. Les chaînes
vides sont traitées comme des arguments de ligne de commande valides.
Exécution de scripts batch
Le shell EFI peut exécuter des commandes à partir de fichiers (scripts batch). Ces fichiers
possèdent l'extension .nsh et peuvent être au format UNICODE ou ASCII. Pour exécuter un
script batch, il suffit d'entrer son nom à l'invite de commandes, avec ou sans l'extension.
Le nom du script peut être suivi de neuf (9) arguments de position. La substitution de ces
derniers s'effectue avant l'exécution de chaque ligne du fichier de script. Les arguments de
position sont identifiés par le symbole %n, n correspondant à un chiffre compris entre 0 et 9.
Par convention, %0 correspond au nom du fichier de script en cours d'exécution. Dans les
scripts batch, la substitution des arguments est effectuée en premier, avant celle des
variables. Par conséquent, si une variable contient %2, elle sera remplacée par la chaîne
littérale %2 et non par le second argument de position de la ligne de commande. Si aucun
argument réel ne peut être substitué à un argument de position, ce dernier est ignoré. Les
scripts peuvent faire l'objet d'une exécution imbriquée. Cela signifie qu'un fichier de script
peut être exécuté à partir d'une commande contenue dans un autre fichier de script. La
récursivité est autorisée.
La redirection de la sortie est entièrement prise en charge. La redirection de la sortie d'une
commande contenue dans un fichier de script porte uniquement sur le résultat de cette
commande. En revanche, si la redirection de la sortie est appliquée lors de l'appel du script
batch, elle porte sur la sortie de toutes les commandes exécutées à partir de ce script. La
sortie de chaque commande est ajoutée à la fin du même fichier.
Par défaut, les données en entrée et en sortie de toutes les commandes exécutées à partir
d'un script batch sont affichées sur la console. Pour supprimer l'affichage des commandes
lues dans un fichier batch, utilisez la commande echo –off (voir echo). Si la sortie d'une
commande est redirigée vers un fichier, elle ne s'affiche pas sur la console. Les
commandes exécutées à partir d'un script batch ne sont pas enregistrées par le shell dans
l'historique DOSkey, qui permet de rappeler les commandes exécutées en appuyant sur la
touche flèche vers le haut.
Traitement des erreurs dans les scripts batch
Par défaut, si une commande contenue dans un script batch provoque une erreur, le script
batch continue de s'exécuter.
La variable lasterror du shell permet aux scripts batch de tester le résultat de la dernière
commande exécutée à l'aide de la commande if. Il ne s'agit pas d'une variable
d'environnement, mais d'une variable spéciale gérée par cette instance de shell.
5-14
Guide de l'utilisateur