.drill [through]
<"var1,var2,var3"|$EnvVar|-r[p] Register>
[gr[ouped by] "{}"]
[sep[arated by] ","]
[exec] "Command $1 $2"
La commande .drill vous permet d'effectuer une boucle sur une commande, et d'exécuter la commande
une fois pour chaque membre d'une série de valeurs. Vous pouvez indiquer les valeurs sur
la ligne de commande, ou les extraire d'une variable d'environnement ou d'un registre. Lorsque le système exécute une commande .drill, le système utilise
la syntaxe .drill pour générer une série de lignes de commande et les envoie
à l'agent pour qu'elles soient exécutées.
Par exemple, la commande
.drill "A,B,C,D" "echo value $1"
crée les commandes suivantes :
echo value A
echo value B
echo value C
echo value D
Groupage
Vous pouvez constituer des groupes de valeurs et référencer
plusieurs valeurs dans chaque groupe avec la syntaxe $
n.
$1 désigne la première valeur du groupe, $2 la seconde valeur
du groupe, etc. Par exemple,
.drill through "(A,B,C,D,E),(B,C,D,E,F),(C,D,E,F,G)" grouped by "()" separated by
"," exec "echo 1[$1] 2[$2] 3[$3] 4[$4] 5[$5]" crée les commandes suivantes :
echo 1[A] 2[B] 3[C] 4[D] 5[E]
echo 1[B] 2[C] 3[D] 4[E] 5[F]
echo 1[C] 2[D] 3[E] 4[F] 5[G]
Remarque : Il n'y a pas de caractère de regroupement
par défaut. Il existe un caractère de séparation par défaut, qui est la virgule. Si
vous n'indiquez pas de valeur pour
grouped by, le système cherche parmi les
valeurs fournies séparées par le caractère de séparation et considère toutes
les chaînes sous cette forme comme des valeurs uniques. Par exemple, la commande
.drill "(A,B),(C,D)"
"echo $1 $2" résout les commandes suivantes :
echo (A 2
echo B) 2
echo (C 2
echo D) 2
Sources de données
Vous pouvez choisir entre plusieurs
emplacements à partir desquels la commande .drill extrait les données sur lesquelles elle effectue une boucle. Le premier paramètre
de la commande est la source des données. Vous pouvez inclure le mot de commande optionnel
"through" pour indiquer la source des données.
- Vous pouvez répertorier explicitement les données de la ligne de commande, comme dans la commande
suivante, qui effectue une boucle sur les valeurs un, deux, et trois :
.drill through "one,two,three" exec "echo $1"
- Vous pouvez extraire les données d'une variable d'environnement. La commande suivante
suppose que la variable d'environnement FILENAMES est une liste de fichiers séparés par des virgules,
et utilise une commande DOS pour supprimer tous les fichiers de la
liste :
.drill through $FILENAMES exec "del $1"
- Vous pouvez extraire les données d'un registre ou d'un registre de projet. Si le registre A
contient une liste de noms de fichiers séparés par des virgules, alors la commande suivante émise
vers un système Linux écrit le contenu de chaque fichier :
.drill -r RegisterA exec "cat $1"
alors
que l'exemple suivant effectue la même opération, mais utilise un registre de projet :.drill -rp ProjectRegisterA exec "cat $1"