Mandato vc
Finalidad
Sustituye los valores asignados para las palabras clave de identificación.
Sintaxis
vc [ A ] [ -t ] [ - ] [ CCarácter ] [ Palabra clave=Valor ]...
Descripción
El mandato vc copia líneas de entrada estándar a salida estándar. Los distintivos y las palabras clave de la línea de mandatos y las sentencias de control de la entrada modifican la salida resultante. El mandato vc sustituye las palabras clave declaradas por el usuario con el valor asignado en la línea de mandatos. Las palabras clave se pueden sustituir tanto en texto como en sentencias de control.
- Sentencias de control
Una sentencia de control es una sola línea que empieza por un carácter de control (el carácter de control predeterminado es un : (dos puntos)). Las sentencias de control proporcionan un proceso condicional de la entrada. Los tipos permitidos de sentencias de control son:
- :if Condición
- Texto
Elemento Descripción :fin Escribe todas las líneas entre la sentencia :if y la :end coincidente en la salida estándar sólo si la condición es verdadera. Puede anidar sentencias :if y :end . Sin embargo, una vez que una condición es falsa, se ignoran todas las sentencias :if y :end anidadas restantes. Consulte la sección Sintaxis de condición para conocer la sintaxis de las condiciones y los operadores permitidos. :dcl Palabra clave, [Palabra clave ..] Declara las palabras clave especificadas. Deben declararse todas las palabras clave. :asg Palabra clave=Valor Asigna el valor especificado a la palabra clave especificada. Una sentencia :asg tiene prioridad sobre la asignación de palabra clave en la línea de mandatos vc . Una sentencia :asg posterior altera temporalmente todas las asignaciones anteriores de la palabra clave asociada. Las palabras clave que se declaran pero no se asignan Valores, tienen valores nulos. :: Texto Elimina los dos caracteres de control iniciales, sustituye la palabra claves por sus valores respectivos y, a continuación, copia la línea en la salida estándar. :on o :off Activa o desactiva la sustitución de palabras clave en todas las líneas. :ctl Carácter Cambia el carácter de control por el valor Carácter . :msg Mensaje Escribe un mensaje en la salida de error estándar con el formato: Mensaje (n): mensaje where n is number of the input line on which the message appeared.:err Mensaje Escribe un mensaje de error en el error estándar. El mandato vc detiene el proceso y devuelve un valor de salida de 1. El mensaje de error tiene el formato: ERROR: message ERROR: err statement on line n (vc15)
- Sintaxis de condición
Los elementos y sentencias permitidos son:
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 stringLos operadores de condición disponibles y sus significados son:
Elemento Descripción = Igual != No igual a & Y &| O > Mayor que < Menor que ( ) Se utiliza para agrupaciones lógicas NOT Sólo puede producirse inmediatamente después de if, y cuando está presente, invierte el valor de toda la condición. Los valores > y < (mayor que y menor que) sólo operan en valores enteros sin signo; por ejemplo, 012 > 12 es false. Todos los demás operadores toman las series como modificadores; por ejemplo, ¡012! = 12 es true. La prioridad de los operadores, de mayor a menor, es la siguiente:
- =! = > < (todos de igual prioridad)
- &
- &|
Se pueden utilizar paréntesis para modificar el orden de prioridad.
Los valores deben estar separados de operadores o paréntesis por al menos un espacio en blanco o tabulador.
- Sustitución de palabra clave
Una palabra clave debe empezar y terminar con el mismo carácter de control utilizado en las sentencias de control. Una palabra clave puede tener hasta nueve caracteres alfanuméricos, donde el primer carácter debe ser alfabético. Los valores de palabra clave pueden ser cualquier serie ASCII. Una palabra clave numérica Valor es una serie de dígitos sin signo. Los valores no pueden contener tabuladores ni espacios.
Distintivos
| Elemento | Descripción |
|---|---|
| -a | Sustituye la palabra claves rodeada de caracteres de control por su valor asignado en todas las líneas de texto (no sólo las que empiezan con dos caracteres de control). |
| -cCarácter | Utiliza el valor Carácter como carácter de control. El parámetro Carácter debe especificar un carácter ASCII. |
| -s | No muestra los mensajes de aviso que normalmente se muestran en el error estándar. |
| -T | Ignora todos los caracteres desde el principio de una línea hasta e incluyendo el primer carácter de tabulación para detectar una sentencia de control. Si el mandato vc encuentra un carácter de control, ignora todos los caracteres hasta la pestaña incluida. |
Estado de salida
Este mandato devuelve los siguientes valores de salida:
| Elemento | Descripción |
|---|---|
| 0 | Finalización satisfactoria. |
| >0 | Se ha producido un error. |
Ejemplos
- Ejemplos de asignaciones de Palabra clave=Valor son:
El mandato vc elimina todos los caracteres de control y las palabras clave de las líneas de texto de entrada marcadas con dos caracteres de control a medida que escribe el texto en la salida estándar.numlines=4 prog=acctg pass4=yes - Para evitar que se interprete un carácter de control, antepóngelo con una barra inclinada invertida, como en el ejemplo siguiente:
La palabra clave :prog: se sustituye por su valor, pero el\:se pasa a la salida estándar como:(dos puntos).::the :prog: program includes several of the following\:Las líneas de entrada que empiezan por \ (barra inclinada invertida) seguidas de un carácter de control no son líneas de control y se copian en la salida estándar sin la barra inclinada invertida. Sin embargo, el mandato vc escribe líneas que empiezan con una barra inclinada invertida y ningún carácter de control siguiente sin ningún cambio (incluida la barra inclinada invertida inicial).
Archivo
| Elemento | Descripción |
|---|---|
| /usr/bin/vc | Contiene el mandato vc . |