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			Graphics file for the QS project. Double-click the \
 							icon to see the graphic.
	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

|

邏輯 OR

表 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
     }