Solaris Common Desktop Environment: Handbok för avancerade användare och systemadministratörer

Skapa en exekveringssträng för COMMAND-åtgärder

Minimikraven för en COMMAND-åtgärd är två fält: ACTION och EXEC_STRING.

ACTIONåtgärdsnamn
 {
     EXEC_STRING exekveringssträng
 }

Exekveringssträngen är den viktigaste delen av en COMMAND-åtgärdsdefinition. Den använder syntax som liknar den på kommandoraden i ett terminalfönster, men innehåller ytterligare syntax för hantering av fil- och strängargument.

Generella egenskaper för exekveringssträngar

Exekveringssträngar kan innehålla:

Åtgärdsargument

Ett argument är information som är nödvändig för att ett kommando eller program ska kunna köras. Kommandoraden nedan kan du t ex använda för att öppna en fil i Textredigeraren:

dtpad filnamn

I det här kommandot är filnamn ett filargument till kommandot dtpad.

Åtgärder kan, på samma sätt som program och kommandon, ha argument. Det finns två typer av data som en COMMAND-åtgärd kan använda:

Använda skal i exekveringssträngar

I de flesta fall finns funktioner och deras program i samma system. Eftersom den normala värddatorn för exekvering av en funktion är databasvärden, behövs ingen särskild syntax.

Till exempel:

EXEC_STRING				\
 		/bin/sh -c \
 		'tar -tvf %(File)Arg_1% 2>&1 | \${PAGER:-more};\
 		echo "\\n*** Välj Stäng från Fönster-menyn för att stänga***"'

Skapa en funktion som kör ett fjärrprogram

Om ditt program finns i en katalog som är listad i variabeln PATH, kan du ange den körbara filens enkla namn. Om programmet finns någon annanstans måste du använda den absoluta sökvägen till den körbara filen.

Skapa åtgärder som inte använder argument

Använd samma syntax för EXEC_STRING som du skulle använda för att starta programmet från kommandoraden.

Exempel

Skapa åtgärder som accepterar släppta filer

Använd följande syntax för filargumentet:

%Arg_n%

eller

%(File)Arg_n%

(File) är valfritt eftersom argument för Arg_n som standard antas vara filer. (I Tolka filargument som en strängfinns information om hur du använder %(String)Arg_n%-syntaxen.)

Med den här syntaxen kan användarna släppa ett datafilobjekt på åtgärdsikonen för att starta åtgärden med filargumentet. Den ersätter det n:te argumentet på kommandoraden. Filen kan vara en lokal fil eller en fjärrfil.

Exempel

Skapa en åtgärd som frågar efter ett filargument

Använd följande syntax för filargumentet:

%(File)"ledtext"% 

Den här syntaxen skapar en åtgärd som visar en ledtext för ett filnamn när användaren dubbelklickar på åtgärdsikonen.

Den här exekveringssträngen visar t ex en dialogruta som frågar efter filargumentet till kommandot wc -w:

EXEC_STRING wc -w %(File)"Räkna ord i filen:"%

Skapa åtgärder som accepterar eller frågar efter en släppt fil

Använd följande syntax för filargumentet:

%Arg_n"ledtext"%

eller

%(File)Arg_n"ledtext"%

Syntaxen skapar en åtgärd som:

Skapa en åtgärd som frågar efter icke-filargument

Använd följande syntax för icke-filparametern:

%"ledtext"%

eller

%(String)"ledtext"%

(String) är valfritt, eftersom text inom citattecken normalt tolkas som strängdata. Den här syntaxen visar en dialogruta som frågar efter icke-fildata. Använd inte syntaxen för att fråga efter ett filnamn.

Den här exekveringssträngen kör t ex kommandot xwd och frågar efter ett värde som ska läggas till i varje bildpunkt:

EXEC_STRING xwd -add %"Lägg till värde:"% -out %Arg_1"Filnamn:"%

Tolka filargument som en sträng

Använd följande syntax för argumentet:

%(String)Arg_n%

Den här exekveringssträngen skriver t ex ut en fil med en titel som innehåller filnamnet med hjälp av kommandot lp -ttitelfilnamn.

EXEC_STRING lp -t%(String)Arg_1% %(File)Arg_1"Fil som ska skrivas ut:"%

Skalmöjligheter för åtgärder

Ange skalet i exekveringssträngen:

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

Exempel

Skapa COMMAND-åtgärder för flera filargument

Åtgärder kan använda något av följande tre sätt att hantera flera filargument:

Skapa en åtgärd för icke utbytbara argument

Använd någon av följande syntaxer:

Skapa en åtgärd med utbytbara filargument

Använd någon av följande syntaxer:

Exempel

Skapa åtgärder för flera släppta filer

För att acceptera flera argument för släppta filer och köra en kommandorad i formatet:

kommando fil 1 fil 2

använder du syntaxen:

%Args%

Exempel