3. L'interpréteur de ligne de commande d'EVMS

L'interpréteur de ligne de commande d'EVMS (EVMS CLI [Command Line Interpreter]) fournit à EVMS une interface utilisateur pilotée par commande. EVMS CLI permet d'automatiser les tâches de gestion de volume et fournit un mode interactif dans les situations où l'interface d'EVMS n'est pas disponible.

Comme EVMS CLI est un interpréteur, il fonctionne différemment des utilitaires de ligne de commande des systèmes d'exploitation. Lorsque vous spécifiez des options dans la ligne de commande pour appeler EVMS CLI, celles-ci contrôlent comment EVMS CLI fonctionne. Par exemple, les options de ligne de commande montrent au CLI où aller pour les commandes à interpréter et à quelle fréquence EVMS CLI doit sauvegarder sur le disque les modifications. Quand on l'appelle, EVMS CLI invite à entrer une commande.

Les commandes de gestion de volume qu'EVMS CLI comprend sont spécifiées dans le fichier /usr/src/evms-2.2.0/engine2/ui/cli/grammar.ps qui accompagne le paquetage EVMS. Ces commandes sont décrites en détail dans le manuel EVMS et l'aide pour ces commandes est disponible depuis EVMS CLI même.

Utilisez la commande evms pour démarrer EVMS CLI. Si vous n'entrez aucune option avec evms, EVMS CLI démarre en mode interactif. En mode interactif, EVMS CLI vous invite à entrer une commande. Le résultat de chaque commande est immédiatement sauvegardé sur le disque. EVMS CLI se ferme quand vous tapez exit. On peut modifier ce comportement en utilisant les options suivantes avec evms :

-b

Cette option indique qu'on tourne en mode batch, et à chaque fois que l'utilisateur est invité à entrer une donnée, la valeur par défaut est acceptée automatiquement. C'est le comportement par défaut avec l'option -f.

-c

Avec cette option, les modifications ne sont sauvegardées que lorsque l'on quitte EVMS CLI, et non pas après chaque commande.

-f nom_du_fichier

Cette option indique à EVMS CLI d'utiliser nom_du_fichier comme source des commandes. EVMS CLI ferme lorsqu'il arrive à la fin de nom_du_fichier.

-p

Cette option ne fait qu'analyser les commandes ; elle ne les exécute pas. Lorsqu'elle est combinée avec l'option -f, l'option -p détecte les erreurs de syntaxe dans les fichiers de commande.

-h

Cette option affiche des informations d'aide pour les options utilisées avec la commande evms.

-rl

Cette option indique au CLI que tous les éléments restant dans la ligne de commande sont des paramètres de substitution à utiliser avec les commandes EVMS.

[Note]NOTE

L'accès aux paramètres de substitution dans les commandes EVMS se fait en utilisant la notation $(x), où $(x) est le nombre indiquant quel paramètre de substitution utiliser. Les paramètres de substitution se voient assigner un nombre (en commençant à 1) au fur et à mesure qu'ils apparaissent en ligne de commande. Les substitutions ne se font pas à l'intérieur de commentaires ou de chaînes de caractère entre guillemets.

En voici un exemple :

evms -c -f mon_test -rl sda sdb

sda remplace paramètre1 et sdb remplace paramètre2

[Note]NOTE

Des informations sur les options les moins communément utilisées sont disponibles dans la page de manuel d'EVMS.

EVMS CLI permet d'afficher plusieurs commandes sur une ligne de commande. Lorsque vous spécifiez plusieurs commandes sur une seule ligne de commande, séparez les commandes par deux points ( : ). Ceci est important pour les fichiers de commande car EVMS CLI voit un fichier de commande comme une seule longue ligne de commande. EVMS CLI ne reconnaît pas les lignes dans le fichier et ignore les espaces. Ces particularités permettent à une commande se trouvant dans un fichier de commande d'être étalée sur plusieurs lignes et d'utiliser n'importe quelles indentation ou marges qui semblent les plus adaptées. La seule condition est que le séparateur de commandes (deux points) soit présent entre les commandes.

EVMS CLI ignore les espaces, à moins qu'ils n'apparaissent entre guillemets. Placez entre guillemets un nom contenant des espaces, des caractères non-imprimables ou des caractères de contrôle. Si le nom contient lui-même un guillemet, le guillemet doit être "doublé", comme dans l'exemple suivant :

"Voici un nom contenant ""lui-même"" des guillemets."

Les mots-clés d'EVMS CLI ne sont pas sensibles à la casse, mais les noms EVMS le sont. Les tailles peuvent être entrées dans n'importe quelle unité à l'aide d'une étiquette d'unité, telle que KB, MB, GB ou TB.

Pour terminer, les commentaires dans le style du langage de programmation C sont pris en charge par EVMS CLI. Un commentaire peut commencer et finir n'importe où, excepté dans une chaîne de caractères entre guillemets, comme on peut le voir dans l'exemple suivant :

/* Ceci est un commentaire */
Create:Vo/*C'est idiot comme endroit pour un commentaire, mais c'est autorisé.*/lume,"lvm/Sample Container/My LVM Volume",compatibility