Solaris 9 安装指南

创建 custom_probes 文件

如果 “规则关键字和值”“探测关键字和值” 中描述的规则和探测关键字的精确度不能满足您的需要,您可以通过创建 custom_probes 文件来定义您自己的定制规则或探测关键字。

custom_probes 文件是一个 Bourne shell 脚本,它包含两种函数。您必须将 custom_probes 文件保存在保存了 rules 文件的同一 JumpStart 目录中。您可以在 custom_probes 文件中定义的两种函数如下:

custom_probes 文件的语法

custom_probes 文件可以包含任何有效的 Bourne shell 命令、变量或算法。


注意:

您可以在 custom_probes 文件中定义需要单个变量的探测和比较函数。当您在 rules 文件中使用相应的定制探测关键字时,关键字后面的变量将被解释(为 $1)。

当您在 rules 文件中使用相应的定制规则关键字时,该变量在关键字之后被解释为起始,在下一个 && 或开始脚本(以先出现的为准)之前被解释为终止。


custom_probes 文件必须符合以下要求:

为提高明确性和改善结构,请首先在文件的顶部定义所有的探测函数,后跟所有的比较函数。

custom_probes 中的函数名称的语法

探测函数的名称必须以 probe_ 开头。比较函数的名称必须以 cmp_ 开头。

probe_ 开头的函数定义新的探测关键字。例如,函数 probe_tcx 定义新的探测关键字 tcx。以 cmp_ 开头的函数定义新的规则关键字。例如,cmp_tcx 定义新的规则关键字 tcx

创建 custom_probes 文件

  1. 使用文本编辑器创建 Bourne shell 脚本文本文件。将该文件命名为 custom_probes

  2. custom_probes 文本文件中,定义您的探测和比较函数。


    注意:

    您可以在 custom_probes 文件中定义需要变量的探测和比较函数。当您在 rules 文件中使用相应的定制探测关键字时,关键字后面的变量将依次被解释(为 $1、$2 ... 以此类推)。

    当您在 rules 文件中使用相应的定制规则关键字时,关键字之后和下一个 && 或开始脚本(以先出现的为准)之前的变量被依次解释。


  3. custom_probes 文件保存在 JumpStart 目录中的 rules 文件旁边。

  4. 确保 root 拥有 rules 文件,并且权限设置为 644。

custom_probes 文件和关键字的示例

在以下目录中可以找到探测和比较函数的其它示例:

下面的 custom_probes 文件包含测试 TCX 图形卡是否存在的探测和比较函数。


实例 25–1 custom_probes 文件

#!/bin/sh

# 

# custom_probe script to test for the presence of a TCX graphics card.

# 



# 

# PROBE FUNCTIONS

# 

probe_tcx() {

  SI_TCX=`modinfo | grep tcx | nawk '{print $6}'`

  export SI_TCX

}



# 

# COMPARISON FUNCTIONS

# 

cmp_tcx() {

  probe_tcx



  if [ "X${SI_TCX}" = "X${1}" ]; then

     return 0

  else

     return 1

  fi

}

下面的示例 rules 文件显示如何使用前面的示例 tcx 中定义的探测关键字。如果 TCX 图形卡已安装并在系统中被找到,则运行 profile_tcx。否则,运行 profile


注意:

始终将探测关键字放在 rules 文件的开头或接近开头的位置,以确保能够在其它可能依赖这些探测关键字的规则关键字之前读取和运行这些关键字。



实例 25–2 定制 rules 文件中使用的探测关键字

probe tcx

tcx     tcx     -     profile_tcx     -

any     any     -     profile         -