Solaris 一般桌上管理系統環境:進階使用者和系統管理員指南

建立指令動作的執行字串

指令 動作的最小需求為兩個欄位 -動作EXEC_STRING

ACTION action_name
 {      
     EXEC_STRING execution_string  
 }

執行字串是 指令 動作定義最重要的部分。它會使用與您將會在終端機視窗中所執行的指令行類似的語法,但還包括處理檔案與字串引數的其它語法。

執行字串的一般功能

執行字串可包括:

動作引數

引數是指令或應用程式要正確執行所需要的資訊。例如,試想您可以用以開啟「文字編輯器」中的檔案之指令行:

dtpad 檔案名稱

在此指令中,檔案名稱dtpad指令的檔案引數。

就像應用程式與指令,動作可以有引數。指令 動作可以使用的資料有兩種類型:

在執行字串中使用 Shell

執行字串是直接執行的,而不是經由 shell。但是,您可以在執行字串中明確地調用 shell。

例如:

EXEC_STRING  	\ 
   /bin/sh -c \
   'tar -tvf% (File)Arg_1% 2>&1 | \${PAGER:-more};\ 
   echo "\\n*** 從視窗功能表選擇關閉 以關閉 ***"'

可執行的名稱或絕對路徑

如果您的應用程式是位於路徑變數中列出的目錄中,您可以使用簡單的可執行名稱。如果應用程式是在它處,您必須使用絕對路徑於可執行的檔案。

建立使用無引數的動作

使用您將會用以從指令行啟動應用程式的 EXEC_STRING 的相同語法。

範例

建立接受定位檔案的動作

為檔案引數使用此語法:

%Arg_n%

%(File)Arg_n%

既然供應至 Arg_n 的引數假定(按內定)為檔案,(檔案) 是選擇性的。(有 關 "解譯檔案引數為字串"(字串)Arg_%n 語法的使用,請見 %。)

此語法讓使用者在動作圖像上定位資料檔案物件,以啟動具有該檔案引數的動作。其在指令 行中代替 nth 引數。檔案可以是區域或遠程檔案。

範例

建立提示 檔案引數的動作

為檔案引數使用此語法:

%(File)"提示符號"% 

當使用者連按兩下動作圖像時,此語法建立顯示檔案名稱的提示符號的動作。

例如,此執行字串顯示提示 wc -w 指令的檔案引數的對話框:

EXEC_STRING wc -w%(File)"在檔案中計數字數:"%

建立接受定位檔案或提示符號的動作

為檔案引數使用此語法:

%Arg_n"提示符號"%

%(File)Arg_n"提示符號"%

此語法製造如下動作:

建立提示非檔案引數的動作

為非檔案參數使用此語法:

%"提示符號"%

%(String)"提示符號"%

既然按內定解譯引號的文字為字串資料,(字串) 是選擇性的。此語法顯示提示非檔案資料的對話框;當提示檔案名稱時,請勿使用此語法。

例如,此執行字串執行 xwd 指令與要增加至每個像素的值的提示符號:

EXEC_STRING xwd -add% "增加值:"% -out %Arg _1"檔案名稱:"%

解譯檔案引數為字串

為引數使用此語法:

%(String)Arg_n%

例如,此執行字串列印具有包含檔案名稱的標題的檔案,使用指令 lp -t標題檔案名稱。

EXEC_STRING lp -t%(String)Arg_1%% (File)Arg_1"列印的檔案:"%

在動作中提供 Shell 能力

在執行字串中指定 shell:

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

範例

建立多重檔案引數的指令動作

動作處理多重檔案引數的方法有三種:

建立不可交換的引數的動作

使用下列語法習慣用法之一:

建立具有可交換檔案引數的動作

使用下列語法習慣用法之一:

範例

建立多重定位檔案的動作

如果要接受多重定位檔案引數並執行指令行格式如下:

指令 檔案 1 檔案 2 ...

使用語法:

%Args%

範例