ここでは、N1 System Manager の CLI を使用する際に役立つヒントを示します。
N1 System Manager コマンドの一般的な構文は次のとおりです。
command object [object-value] [object [object-value]]* [attribute[=][attribute-value]]* |
command – オブジェクトに対して実行する操作です。
object – 実行中の動作の基礎となる、システムで定義されたオブジェクトです。通常、動作の対象はコマンドの構文にある最初のオブジェクトです。
object-value – オブジェクトの値で、通常はユーザーが定義します。値に空白が含まれている場合は、引用符で囲む必要があります。
attribute – 属性。動作の実行方法に影響を与える、システム定義の省略可能なオブジェクトです。
attribute–value – 属性に対するユーザー定義の値です。値に空白が含まれている場合は、引用符で囲む必要があります。
簡単にするため、属性という用語は一般的にオブジェクトとキーワードの両方を表すために使用します。
OS プロファイルやグループ名などのユーザー定義の名前には、数値、文字、および特定の特殊文字を使用できます。次の特殊文字は使用できません: コンマ、アスタリスク、一重引用符、二重引用符、括弧、疑問符、等号、復帰改行。
id キーワードは、N1 System Manager の CLI で、一部の属性値 (主に server 属性値) の前に使用できる、オプションのキーワードです。このキーワードは、予約済みのキーワードと同じ名前の属性値 (たとえば、upgrade という名前のサーバー) を指定するために使用します。
等号 (=) は、N1 System Manager の CLI で属性名と属性値の間に使用できます。たとえば、次の 2 つのコマンドは同じです。
N1-ok> set role MyRole description myDescription N1-ok> set role MyRole description=myDescription |
CLI のヘルプでは、等号を使用する形式を紹介していません。
n1sh スクリプトをカスタマイズして作成した場合、行頭でコメント用の文字 (#) を指定して、その行の文字が無視されるようにすることができます。詳細は、『Sun N1 System Manager 1.3 検出および管理マニュアル』の「N1 System Manager コマンドのスクリプトを実行する」を参照してください。
複数の属性値を指定できる場合は、N1 System Manager のコマンド行でコンマ区切りのリストで指定できます。次に例を示します。
N1-ok> set server serverA,serverB,serverC locator on |
CLI のヘルプでは、複数の属性値は、構文の中で次のような方法で表されています。set server <server>[,<server>...]
コンマの間に空白は入力できません。
n1sh シェルモードでは、一重引用符と二重引用符を使用できます。必要に応じて、どちらの引用符もバックスラッシュを使用してエスケープすることができます。次に例を示します。
N1-ok> set role myRole description "Some Role that I've made up" N1-ok> set role myRole description='Some Role that I\'ve made up' |
n1sh の実行に使用する UNIX コマンドモードのシェルによっては、一部の特殊文字をエスケープする必要があります。たとえば、bash シェルでは、引用符は次のようにバックスラッシュでエスケープする必要があります。
$ n1sh set role MyRole description=\"Some Role that \\\"Paul\\\" made up\" |
次のように一重引用符を使用して二重引用符をエスケープすることもできます。
$ n1sh set role MyRole description='"Some Role that \\"Paul\\" made up"' |
特殊文字のエスケープについては、該当のシェルのマニュアルを参照してください。
n1sh シェルモードでは、特殊文字をエスケープする必要はありません。したがって上記と同じコマンドは次のようになります。
N1-ok> set role MyRole description="Some Role that \"Paul\" made up" |
コマンド行でパスワードを表示しないようにする場合は、パスワード属性値として疑問符 (?) を入力できます。コマンドを実行したときに、パスワードの入力を求められます。例としては、rootpassword 属性と agentssh 属性があります。