Solaris Common Desktop Environment: Guía avanzada del usuario y del administrador del sistema

Creación de la cadena de ejecución para una acción COMMAND

Los requisitos mínimos de una acción COMMAND son dos campos: ACTION y EXEC_STRING.

ACTION nombre_acción
 { 
      EXEC_STRING cadena_ejecución
 }

La cadena de ejecución es la parte más importante de una definición de acción COMMAND. Utiliza una sintaxis similar a la de la línea de comandos que se ejecutaría en una ventana Terminal, pero incluye sintaxis adicional para manejar argumentos de archivo y de cadena.

Características generales de las cadenas de ejecución

Las cadenas de ejecución pueden incluir:

Argumentos de acción

Un argumento es la información que un comando o aplicación necesita para ejecutarse correctamente. Por ejemplo, examinemos la línea de comandos que se podría utilizar para abrir un archivo en el Editor de textos:

dtpad nombre_archivo

En este comando, nombre_archivo es un argumento de archivo del comando dtpad.

Las acciones, al igual que las aplicaciones y los comandos, pueden tener argumentos. Una acción COMMAND puede utilizar dos tipos de datos:

Uso de shells en cadenas de ejecución

La cadena de ejecución se ejecuta directamente, en lugar de hacerlo a través de un shell. Sin embargo, se puede invocar un shell de forma explícita en la cadena de ejecución.

Por ejemplo:

EXEC_STRING				\
 /bin/sh -c \ 'tar -tvf %(File)Arg_1% 2>&1 | \${PAGER:-more};\
 echo "\\n*** Seleccione Cerrar en el menú Ventana para cerrarla ***"'

Nombre o ruta absoluta del ejecutable

Si su aplicación está ubicada en un directorio que aparece listado en la variable PATH, puede utilizar el nombre simple del ejecutable. Si la aplicación está en otro lugar, deberá utilizar la ruta absoluta al archivo ejecutable.

Creación de una acción que no utiliza argumentos

Utilice para EXEC_STRING la misma sintaxis que usaría para iniciar la aplicación desde una línea de comandos.

Ejemplos

Creación de una acción que acepta un archivo soltado

Utilice esta sintaxis para el argumento de archivo:

%Arg_n%

o

%(File)Arg_n%

(File) es opcional, pues se supone que, de manera predeterminada, los argumentos proporcionados a Arg_n son archivos. (Véase Interpretación de un argumento de archivo como si fuera una cadena para conocer el uso de la sintaxis %(String)Arg_n%.)

Esta sintaxis permite al usuario soltar un objeto archivo de datos sobre el icono de la acción, para iniciar ésta con un argumento de archivo. Sustituye el argumento n de la línea de comandos. El archivo puede ser local o remoto.

Ejemplos

Creación de una acción que solicita un argumento de archivo

Utilice esta sintaxis para el argumento de archivo:

%(File)"solicitud"% 

Esta sintaxis crea una acción que muestra una solicitud de nombre de archivo cuando el usuario pulsa dos veces el icono de acción.

Por ejemplo, esta cadena de ejecución muestra un cuadro de diálogo que solicita el argumento de archivo del comando wc -o comando:

EXEC_STRING wc -w %(File)"Contar palabras en archivo:"%

Creación de una acción que acepta un archivo soltado o solicita un archivo

Utilice esta sintaxis para el argumento de archivo:

%Arg_n"solicitud"%

o

%(File)Arg_n"solicitud"%

Esta sintaxis produce una acción que:

Creación de una acción que solicita un argumento no de archivo

Utilice esta sintaxis para el parámetro no de archivo:

%"solicitud"%

o

%(String)"solicitud"%

(String) es opcional, dado que el texto entre comillas se interpreta, de manera predeterminada, como datos de tipo cadena. Esta sintaxis muestra un cuadro de diálogo que solicita datos que no sean archivos; no la utilice para solicitar un nombre de archivo.

Por ejemplo, esta cadena de ejecución ejecuta el comando xwd y solicita un valor para sumar a cada píxel:

EXEC_STRING xwd -add %"Sumar valor:"% -out %Arg_1"Nombre de archivo:"%

Interpretación de un argumento de archivo como si fuera una cadena

Utilice esta sintaxis para el argumento:

%(String)Arg_n%

Por ejemplo, esta cadena de ejecución imprime un archivo con una carátula que contiene el nombre de archivo, mediante el comando lp -rcarátula nombre_archivo.

EXEC_STRING lp -t%(String)Arg_1% %(File)Arg_1"Archivo a imprimir:"%

Inclusión de capacidades de shell en una acción

Especifique el shell en la cadena de ejecución:

/bin/sh -c 'comando'
/bin/ksh -c 'comando'
/bin/csh -c 'comando'

Ejemplos

Creación de acciones COMMAND con múltiples argumentos de archivo

Hay tres procedimientos para que las acciones manejen múltiples argumentos de archivo:

Creación de una acción con argumentos no intercambiables

Utilice uno de los siguientes convenios de sintaxis:

Creación de una acción con argumentos de archivo intercambiables

Utilice uno de los siguientes convenios de sintaxis:

Ejemplos

Creación de una acción para múltiples archivos soltados

Para aceptar múltiples argumentos de archivo soltados y ejecutar una línea de comandos con el formato:

comando  archivo 1  archivo 2

utilice la sintaxis:

%Args%

Ejemplos