Solaris ネーミングの管理

-e オプションを指定してエントリを編集する

-e オプションを指定した場合、複数のエントリの検索可能列値を変更することになる nistbladm コマンドは実行されず、エラーが返されます。このとき、検索不可列の値は考慮されません。


nistbladm column=" value" ¥
 column="  value" ¥
 ... indexedname

-e オプションを指定した場合、変更する列の値を指定するだけです。

ここで次のテーブルについて考えます。

Dept 

Site 

Name 

Sales 

SanFran 

Tsosulu 

Name 列の値を Chandar に変更するには、次のように入力します。


master% nistbladm -e Name="Chandar" [Dept='Sales',Site='SanFran'], ¥
	depts.doc.com. 

修正後のテーブルは次のようになります。

Dept 

Site 

Name 

Sales 

SanFran 

Chandar 

(上記の例では、インデックス名に Name 列が含まれていません。これは、Name 列が検索可能ではないためです。)

C シェルを使っている場合は、角カッコを含む数式を引用符でオフセットすることもできます。

-e オプションを指定して検索可能列の値を編集するには、新たに指定した値が (インデックス名によって識別される) 1 行にだけ適用されることが条件になります。したがって、Dept 列の値を Manf に変更するには、次のように入力します。


master% nistbladm -e Dept="Manf" [Dept='Sales',Site='SanFran'], ¥
	depts.doc.com. 

Dept (検索可能) 

Site (検索可能) 

Name 

Manf 

SanFran 

Chandar 

しかし、検索可能列に ManfSanFran という値を持つエントリが既に存在する場合は、nistbladm -e はエラーを返します。

同一のエントリが対象である場合は、複数の列の変更を指定できます。たとえば、Dept 列と Name 列の値を変更するには、次のように入力します。


master% nistbladm -e Dept="Manf" Name="Thi" ¥
	[Dept='Sales',Site='SanFran'],depts.doc.com.

Dept (検索可能) 

Site (検索可能) 

Name 

Manf 

SanFran 

Thi