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

定義資料類型的資料條件

DATA_CRITERIA 定義會定義用於將物件類型指派給檔案或目錄的條件。

您可以使用 表 13-3 中所示的物件類型的條件。

表 13-3 DATA_CRITERIA 條件與說明

條件 

說明 

檔案名稱 

檔案名稱必須符合指定的型樣。使用 NAME_PATTERN 欄位。

檔案位置 

路徑必須符合指定的型樣。使用 PATH_PATTERN 欄位。

檔案內容 

檔案內容的指定部分必須符合指定的資料。使用 CONTENT(內容) 欄位。

檔案模式  

檔案必須擁有指定的許可權(讀取、寫入、執行、目錄)。使用 MODE(模式) 欄位。

象徵性連結

類型是以物件連結的檔案為基礎。  

您可以使用一項以上的資料類型條件。但是,您不應在相同的資料類型中使用 NAME_PATTERNPATH_PATTERN 條件。

以名稱為基礎的資料類型

使用 NAME_PATTERN 欄位來指定命名需求。欄位值可包括下列通配字元:

?-符合任何單一字元

*-符合任何順序的字元(包括空字串)

[cc...]-符合括弧中所附的任何字元(c

[c-c]-符合由 cc

範圍中的任何字元範例

以位置為基礎的資料類型

使用 PATH_PATTERN 欄位來指定路徑。您可以使用與 NAME_PATTERN 相同的通配字元。

例如,以下的資料類型使用以路徑為基礎的條件。

DATA_ATTRIBUTES Project_Graphics  
     {  	
      DESCRIPTION			QS   計畫的圖形檔案。連按兩下 \ 
              圖像來看圖形。  	
      ICON    QSgraphics  
      }  
       DATA_CRITERIA Project_Graphics_Criteria  
      {  
       DATA_ATTRIBUTES_NAME			Project_Graphics  
       PATH_PATTERN				*/projects/QS/graphics/*  
      }

以名稱與位置為基礎的資料類型

如果要建立同時以檔案名稱與位置兩者為基礎的資料類型,請將名稱包含於 PATH_PATTERN 值中。您無法在相同的條件定義中同時使用 NAME_PATTERNPATH_PATTERN

範例

使用檔案模式為類型條件

使用 MODE(模式) 欄位來指定所需的許可權。

模式條件通常用於以名稱為基礎、以位置為基礎或以內容為基礎的資料類型的組合中。它們允許您將資料類型限制為檔案或目錄,或指定所需的讀取、寫入與執行許可權。

MODE(模式) 欄位可包括邏輯運算子(表 13-4)與字元(表 13-5)。

表 13-4 模式欄位邏輯運算子與說明

運算子 

說明 

!

邏輯運算子NOT(否)

&

邏輯運算子AND(及)

|

邏輯或

表 13-5 模式欄位字元與說明

字元 

說明 

f

資料類型只應用於檔案 

d

資料類型只應用於目錄 

r

檔案可由任何使用者讀取 

w

檔案可由任何使用者寫入 

x

檔案可由任何使用者執行 

l

檔案為連結 

特定模式的內定值為模式沒有關係。

範例

以內容為基礎的資料類型

使用 CONTENT(內容) 欄位以指定以檔案內容為基礎的資料類型。以內容為基礎的資料類型可以在以名稱或位置為基礎的資料類型組合中使用。

類型可以以檔案的字串或數值內容為基礎。檔案中的第一個位元組為數字 0。

如果要建立具有數項獨立條件的資料類型

您可以建立具有數項獨立條件的資料類型-也就是說,如果檔案符合條件之一(或兩者),就會被指派至資料類型。

  1. 建立資料類型的 DATA_ATTRIBUTES 定義。

  2. 建立每項條件的 DATA_CRITERIA 定義。

    使用 DATA_ATTRIBUTES_NAME 欄位將每項條件連接至相同的 DATA_ATTRIBUTES 定義。

    例如,下列定義會建立 Mif 資料類型。類型是以名稱或內容為基礎。

    DATA_ATTRIBUTES Mif 
      {  
       ICON		    Frame  	
       ACTION_LIST     Open, Print  
      }  
       DATA_CRITERIA Mif_Name_Criteria  
      { 
       DATA_ATTRIBUTES_NAME				Mif  
       NAME_PATTERN		                	*.mif  
      }  
       DATA_CRITERIA Mif_Content_Criteria  
      {  
       DATA_ATTRIBUTES_NAME		Mif  	
       CONTENT			1 string MIFFile  
      }