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

建立 COMMAND 動作的執行字串

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

動作 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 的引數被假設為 (依據預設值) 檔案。(請參閱"解譯檔案引數為字串"如何使用 %(String)Arg_n% 語法的資訊。)

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

範例

建立一個提示檔案引數的動作

為檔案引數使用此語法:

%(File)"提示符號"% 

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

例如,這個執行字串會顯示一個對話方塊,提示 wc -w 指令的檔案引數:

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

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

為檔案引數使用此語法:

%Arg_n"提示符號"%

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

此語法產生如下動作:

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

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

%"提示符號"%

%(String)"提示符號"%

(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 '指令' 
/bin/ksh -c '指令' 
/bin/csh -c 'command'

範例

建立多重檔案引數的 COMMAND 動作

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

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

使用下列語法慣例之一:

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

使用下列語法慣例之一:

範例

建立多重定位檔案的動作

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

指令 檔案 1 檔案 2 ...

使用語法:

%Args%

範例