Solaris 公用桌面环境: 高级用户和系统管理员指南

为 COMMAND 动作建立执行字符串

COMMAND动作至少需要两个字段 -ACTIONEXEC_STRING

ACTIONaction_name
 {
    EXEC_STRINGexecution_string
 }

执行字符串是COMMAND动作定义中最重要的部分。它使用的语法与在"终端"仿真器窗口内执行的 命令行相似,但包含了用于处理文件和字符串变量的附加语法。

执行字符串的一般特性

执行字符串可以包括:

动作参数

参数是命令或应用程序正确运行所需要的信息。例如,考虑这样一个命令行,可能会用它来在"文本编辑器" 中打开文件:

dtpad文件名

在该命令中,文件名dtpad 命令 的文件参数。

象应用程序和命令一样,动作也可以有参数。COMMAND 动作可以使用两种类型的数据:

在执行字符串中使用shell

执行字符串一般不经过shell就直接执行。但是,也可以明确地在执行字符串中调用shell。

例如:

EXEC_STRING           \
   /bin/sh -c \
   'tar -tvf% (File)Arg_1% 2>&1 | \${PAGER:-more;\
   echo "\\n*** Select Close from the Window menu to close ***"'

可执行文件的名称或绝对路径名

如果应用程序位于 PATH 变量所列的目录之中,则可以使用简单的可执行文件名。否则,必须使用 可执行文件的绝对路径。

创建不使用参数的动作

EXEC_STRING使用象从命令行启动应用程序 一样的语法。

示例

创建接受放置文件的动作

对文件参数使用如下语法:

%Arg_n%

%(File)Arg_n%

(File)是可选项,因为为Arg_n 提供的参数(缺省)假定为文件。(请查看"将文件参数解释成字符串",以获得% (String)Arg_n% 语法的使用方法。)

该语法使用户可以通过在动作图标上放置数据文件对象来启动以该文件为参数的动作。它取代了 命令行中第n个参数。放置文件可以是本地文件或远程文件。

示例

创建提示输入文件参数的动作

文件参数使用如下语法:

%(File) "提示"%

该语法创建了一动作,该动作在用户双击动作图标时提示输入文件名。

例如,下列执行字符串显示对话框,提示输入wc-w命令的文件参数:

EXEC_STRING wc -w% (File)"Count words in 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"File to 
print:"%

在动作中提供shell功能

在执行字符串中指定shell:

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

示例

创建能接受多文件参数的 COMMAND 动作

动作有三种处理多文件参数的方法:

为不可互换参数创建动作

采用下列语法惯例之一:

用可交换的文件参数来创建动作

采用下列语法惯例之一:

示例

创建接受多重放置文件的动作

要接受多重放置文件并以下列形式执行命令行:

commandfile 
1file 2...

使用如下语法:

%Args%

示例