Manuale del CDE Solaris per utenti esperti e amministratori di sistema

Creazione di una stringa di esecuzione per un'azione COMMAND

Un'azione di tipo COMMAND deve contenere necessariamente almeno due campi: ACTION ed EXEC_STRING.

ACTION nome_azione
 {
     EXEC_STRING stringa_di_esecuzione
 }

La stringa di esecuzione è la parte più importante della definizione di un'azione COMMAND. Essa utilizza una sintassi simile a quella usata per le righe di comando nelle finestre di terminale, ma include alcuni componenti aggiuntivi per la gestione dei file e delle stringhe usate come argomenti.

Caratteristiche generali delle stringhe di esecuzione

Le stringhe di esecuzione possono includere:

Argomenti delle azioni

Un argomento è un'informazione richiesta da un comando o da un'applicazione per essere eseguita correttamente. Ad esempio, si consideri la riga di comando usata per aprire un file nell'Editor di testo:

dtpad nomefile

In questo comando, nomefile è un argomento del comando dtpad.

Come i comandi e le applicazioni, anche le azioni possono avere argomenti. Un'azione COMMAND può usare due tipi di dati:

Uso di una shell nelle stringhe di esecuzione

Le stringhe di esecuzione vengono eseguite direttamente, non attraverso una shell. È possibile, tuttavia, specificare una stringa che preveda l'uso di una shell.

Ad esempio:

EXEC_STRING				\
 		/bin/sh -c \
 		'tar -tvf %(File)Arg_1% 2>&1 | \${PAGER:-more};\
 		echo "\\n*** Scegliere Chiudi per uscire ***"'

Nome o percorso assoluto dell'eseguibile

Se l'applicazione si trova in una directory inclusa nella variabile PATH si può usare semplicemente il nome del file eseguibile. Se si trova in un'altra posizione occorre specificare il percorso assoluto dell'eseguibile.

Creazione di un'azione che non utilizzi argomenti

Usare per l'EXEC_STRING la stessa sintassi richiesta per avviare l'applicazione da una riga di comando.

Esempi

Creazione di un'azione che accetti il rilascio di un file

Specificare l'argomento usando la seguente sintassi:

%Arg_n%

oppure

%(File)Arg_n%

Il componente (File) è opzionale, poiché nell'impostazione predefinita gli argomenti forniti ad Arg_n vengono interpretati automaticamente come file. Per informazioni sull'uso della sintassi %(String)Arg_n%, vedere Interpretazione di un argomento file come stringa.

Questa sintassi permette di rilasciare un file di dati sull'icona dell'azione per avviare l'azione usando quel file come argomento. Essa sostituisce l'argomento n nella riga comandi. Il file può essere sia locale che remoto.

Esempi

Creazione di un'azione che richieda un file come argomento

Inserire la richiesta dell'argomento nella stringa di esecuzione usando la seguente sintassi:

%(File)"prompt"% 

Questa sintassi crea un'azione che chiede di specificare il nome di un file quando l'utente fa doppio clic sull'icona.

Ad esempio, questa stringa di esecuzione visualizza una finestra di dialogo che richiede un argomento per il comando wc -w:

EXEC_STRING wc -w %(File)"Contare le parole del file:"%

Creazione di un'azione che accetti il rilascio di un file o che richieda un file

Inserire la richiesta dell'argomento nella stringa di esecuzione usando la seguente sintassi:

%Arg_n"prompt"%

oppure

%(File)Arg_n"prompt"%

Questa sintassi produce un'azione che:

Creazione di un'azione che richieda un argomento diverso da un file

Per specificare un parametro diverso da un file, usare la sintassi:

%"prompt"%

oppure

%(String)"prompt"%

Il componente (String) è opzionale, poiché nell'impostazione predefinita il testo tra virgolette viene interpretato automaticamente come una stringa. Questa sintassi visualizza una finestra di dialogo che richiede un parametro diverso da un file; non usare questa sintassi per richiedere il nome di un file.

Ad esempio, questa stringa di esecuzione esegue il comando xwd e richiede di aggiungere un valore ad ogni pixel:

EXEC_STRING xwd -add %"Aggiungere valore:"% -out %Arg_1"Nomefile:"%

Interpretazione di un argomento file come stringa

Usare per l'argomento la seguente sintassi:

%(String)Arg_n%

Ad esempio, questa stringa di esecuzione stampa un file usando come intestazione il nome del file con il comando lp -t intestazione nomefile.

EXEC_STRING lp -t%(String)Arg_1% %(File)Arg_1"File da stampare:"%

Aggiunta dell'utilizzo di una shell in un'azione

Specificare l'uso della shell nella stringa di esecuzione:

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

Esempi

Creazione di azioni COMMAND che accettino più argomenti (file)

Le azioni possono gestire più file specificati come argomenti in tre modi:

Creazione di un'azione con argomenti non intercambiabili

Usare una delle seguenti sintassi:

Creazione di un'azione con argomenti intercambiabili

Usare una delle seguenti sintassi:

Esempi

Creazione di un'azione che accetti il rilascio di più file

Per fare in modo che l'azione accetti il rilascio di più file ed esegua un comando nella forma:

comando file 1 file 2

usare la sintassi:

%Args%

Esempi