Commande vc

Objectif

Remplace les valeurs affectées aux mots clés d'identification.

Syntaxe

Vc [ -a ] [ -t ] [ -s ] [ -cCaractère ] [ Mot clé=Valeur ]...

Descriptif

La commande vc copie les lignes de l'entrée standard vers la sortie standard. Les indicateurs et les mots clés de la ligne de commande et les instructions de contrôle de l'entrée modifient la sortie résultante. La commande vc remplace les mots clés déclarés par l'utilisateur par la valeur affectée sur la ligne de commande. Les mots clés peuvent être remplacés à la fois dans le texte et dans les instructions de contrôle.

Instructions de contrôle

Une instruction de contrôle est une ligne unique commençant par un caractère de contrôle (le caractère de contrôle par défaut est : (deux points)). Les instructions de contrôle fournissent un traitement conditionnel de l'entrée. Les types d'instructions de contrôle autorisés sont les suivants:

:if Condition
Texte
Article Descriptif
:fin Ecrit toutes les lignes entre l'instruction :if et l'instruction :end correspondante dans la sortie standard uniquement si la condition est vraie. Vous pouvez imbriquer des instructions :if et :end . Toutefois, une fois qu'une condition est fausse, toutes les instructions :if et :end imbriquées restantes sont ignorées. Voir la section Syntaxe de condition pour la syntaxe des conditions et des opérateurs autorisés.
:Dcl Mot clé, [Mot clé ... ] Déclare les mots clés spécifiés. Tous les mots clés doivent être déclarés.
:asg Mot clé=Valeur Affecte la valeur indiquée au mot clé indiqué. Une instruction :asg est prioritaire sur l'affectation de mots clés sur la ligne de commande vc . Une instruction :asg ultérieure remplace toutes les affectations antérieures du mot clé associé. Les mots clés déclarés mais non affectés Valeurs, ont des valeurs nulles.
:: Texte Supprime les deux premiers caractères de contrôle, remplace le mot clés par leurs valeurs respectives, puis copie la ligne dans la sortie standard.
:on ou :off Active ou désactive le remplacement de mot clé sur toutes les lignes.
:ctl Caractère Remplace le caractère de contrôle par la valeur Caractère .
:msg Message Ecrit un message dans la sortie d'erreur standard sous la forme suivante: Message (n): message
where n is number of the input line on which the message appeared.
:err Message Ecrit un message d'erreur dans l'erreur standard. La commande vc arrête le traitement et renvoie la valeur de sortie 1. Le message d'erreur se présente sous la forme suivante:
ERROR: message
ERROR: err statement on line n (vc15)
Syntaxe de condition

Les éléments et les instructions autorisés sont les suivants:

condition             ::=OR statement
                      ::=NOR statement
OR statement          ::=AND statement
                      ::=AND statement | OR statement
AND statement         ::=expression
                      ::=expression & AND statement
expression            ::=( OR statement )
                      ::=value operator value
operator value        ::= = or != or < or >
                      ::= ASCII string
                      ::= numeric string

Les opérateurs de condition disponibles et leur signification sont les suivants:

Article Descriptif
= Egal
!= Non égal
& ET
&| OR
> Supérieur à
< Inférieur(e) à
( ) Utilisé pour les regroupements logiques
N'EST PAS Peut uniquement se produire immédiatement après si, et lorsqu'il est présent, inverse la valeur de l'ensemble de la condition.

> et < (supérieur à et inférieur à) fonctionnent uniquement sur des valeurs entières non signées ; par exemple, 012 > 12 est false. Tous les autres opérateurs prennent des chaînes comme modificateurs ; par exemple, 012 ! = 12 est vrai. La priorité des opérateurs, de la priorité la plus élevée à la priorité la plus basse, est la suivante:

  • = ! = > < (priorité égale)
  • &
  • &|

Des parenthèses peuvent être utilisées pour modifier l'ordre de priorité.

Les valeurs doivent être séparées des opérateurs ou des parenthèses par au moins un blanc ou une tabulation.

Remplacement de mot clé

Un mot clé doit commencer et se terminer par le même caractère de contrôle que celui utilisé dans les instructions de contrôle. Un mot clé peut comporter jusqu'à neuf caractères alphanumériques, le premier caractère devant être alphabétique. Les valeurs de mot clé peuvent être n'importe quelle chaîne ASCII. Un mot clé numérique Valeur est une chaîne de chiffres sans signe. Les valeurs ne peuvent pas contenir de tabulations ou d'espaces.

Indicateurs

Article Descriptif
-a Remplace les mots cléss entourés de caractères de contrôle par leur valeur affectée dans toutes les lignes de texte (et pas seulement celles commençant par deux caractères de contrôle).
-cCaractère Utilise la valeur Caractère comme caractère de contrôle. Le paramètre Caractère doit indiquer un caractère ASCII.
-S N'affiche pas les messages d'avertissement normalement affichés en erreur standard.
-t Ignore tous les caractères du début d'une ligne jusqu'au premier caractère de tabulation inclus pour la détection d'une instruction de contrôle. Si la commande vc trouve un caractère de contrôle, elle ignore tous les caractères jusqu'à la tabulation incluse.

Statut de sortie

Cette commande renvoie les valeurs de sortie suivantes :

Article Descriptif
0 % L'opération a abouti.
>0 Une erreur s'est produite.

Exemples

  1. Voici des exemples d'affectations de mot clé=Valeur :
    numlines=4
    prog=acctg
    pass4=yes
    La commande vc supprime tous les caractères de contrôle et les mots clés des lignes de texte d'entrée marquées de deux caractères de contrôle lors de l'écriture du texte dans la sortie standard.
  2. Pour empêcher l'interprétation d'un caractère de contrôle, faites-le précéder d'une barre oblique inversée, comme dans l'exemple suivant:
    ::the :prog: program includes several of the following\:
    Le mot clé :prog: est remplacé par sa valeur, mais le\:est transmise à la sortie standard en tant que:(deux points).

    Les lignes d'entrée commençant par une barre oblique inversée (\) suivie d'un caractère de contrôle ne sont pas des lignes de contrôle et sont copiées dans la sortie standard sans barre oblique inversée. Toutefois, la commande vc écrit des lignes commençant par une barre oblique inversée et aucun caractère de contrôle suivant sans aucune modification (y compris la barre oblique inversée initiale).

Fichier

Article Descriptif
/usr/bin/vc Contient la commande vc .