Solaris 9 安裝指南

建立 custom_probes 檔案

如果 規則關鍵字和值 以及 Probe 關鍵字和值 中的規則與探測關鍵字說明不夠精確,無法滿足您的需求,您可以建立 custom_probes 檔來定義屬於自己的自訂規則或探測關鍵字。

custom_probes 檔為包含兩種類型函式的 Bourne shell 程序檔。您必須將 custom_probes 檔儲存在相同的 JumpStart 目錄中,也就是您儲存 rules 檔的地方。下面是兩類可在 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 檔案儲存在rules 檔旁邊的 JumpStart 目錄中。

  4. 確定 root 中含有 rules 檔案,且許可權已設為 644。

custom_probes 檔與關鍵字的範例

您可以在下列目錄中尋找探測與比較函式的其他範例:

下列 custom_probes 檔包含探測函式與比較函式,用於測試 TCX 圖形卡是否存在。


範例 25–1 custom_probes File

#!/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         -

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 檔案儲存在rules 檔旁邊的 JumpStart 目錄中。

  4. 確定 root 中含有 rules 檔案,且許可權已設為 644。

custom_probes 檔與關鍵字的範例

您可以在下列目錄中尋找探測與比較函式的其他範例:

下列 custom_probes 檔包含探測函式與比較函式,用於測試 TCX 圖形卡是否存在。


範例 25–1 custom_probes File

#!/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         -