macro name
macro name グローバル コンフィギュレーション モード コマンドを使用すると、マクロを定義できます。定義できるマクロの種類は 2 つです。
-
グローバル マクロは、常時実行可能な CLI コマンドのグループを定義します。
Smartport マクロは Smartport タイプに関連付けられています。各 Smartport マクロの場合、アンチマクロにする必要があります(no_ と連結した名前のマクロ)。アンチマクロはマクロのアクションを元に戻します。
この名前のマクロがすでに存在している場合、事前定義済みのマクロが上書きされます。
マクロ定義を削除するには、このコマンドの no 形式を使用します。
構文
macro name macro-name
no macro name [macro-name]
パラメータ
-
macro-name:マクロの名前。マクロ名では、大文字と小文字が区別されます。
コマンド モード
グローバル コンフィギュレーション モード
使用上のガイドライン
マクロは、CLI コマンドを含み、ユーザによって名前が割り当てられているスクリプトです。最大 3000 文字、200 行の文字を含めることができます。
キーワード
マクロにはキーワード(パラメータ)を含められます。キーワードの説明は次のとおりです。
-
マクロには、最大 3 つのキーワードを含めることができます。
-
キーワードに一致したすべての値が、macro コマンドで指定された対応する値に置き換えられます。
-
キーワードの一致では、大文字と小文字が区別されます
キーワードを使用してマクロを適用しても、元のマクロ定義の状態は変更されません。
ユーザ フィードバック
ユーザ フィードバックを求めるマクロ コマンドの動作は、コマンドを端末から開始した場合と同じです。端末にプロンプトを表示し、ユーザの応答を受け入れます。
マクロの作成
マクロを作成する場合は、次のガイドラインを順守します。
-
名前を指定してマクロを作成するには、macro name を使用します。
-
1 行に 1 つのマクロ コマンドを入力します。
-
マクロを終了するには、@ 文字を使用します。
-
マクロにコメントを入力する場合は、行頭に # 文字を指定します。
さらに、マクロ内でのみ使用できる特定のプリプロセッサ コマンドを特定する場合も # を使用します。利用可能なプリプロセッサ コマンドは 2 つあります。
#macro key description:マクロごとに最大 3 つのキーワードと説明のペアを使用して設定できます。キーワードおよび説明は、マクロが表示されている場合、GUI ページに表示されます。
このプリプロセッサ コマンドのシンタックスは次のとおりです。
#macro key description $keyword1 description1 $keyword2 description2 $keyword3 description3
キーワードの先頭には「$」を指定する必要があります。
#macro keywords:この指示により、デバイスで CLI ヘルプの一部としてキーワードを表示できます。最大 3 つのキーワードを受け入れます。コマンドは、マクロでキーワードを指定して CLI ヘルプ文字列を作成します。ヘルプ文字列は、macro および macro global コマンドからマクロのヘルプが要求された場合に表示されます。また、GUI は、コマンドで指定されたキーワードをマクロのパラメータ名としても使用します。CLI でのこのコマンドの使用方法については、例 2 および 例 3 を参照してください。
このプリプロセッサ コマンドのシンタックスは次のとおりです。
#macro keywords $keyword1 $keyword2 $keyword3
keywordn はキーワードの名前です。
マクロの編集
マクロは編集できません。既存のマクロと同じ名前の新しいマクロを作成して、マクロを変更します。新しいマクロにより、既存のマクロが上書きされます。
この例外には、Smartport 機能に組み込まれたマクロと対応するアンチマクロがあります。Smartport マクロを上書きすることはできません。
マクロの範囲
任意のユーザ定義マクロの範囲を考慮することが重要です。予期しない設定が適用される潜在的な危険があるため、exit、end、または interface interface-id などのコマンドを使用してマクロ内でコンフィギュレーション モードを変更しないでください。いくつかの例外を除き、さまざまなコンフィギュレーション モードでマクロを実行する他の方法があります。マクロは、特権 Exec モード、グローバル コンフィギュレーション モード、インターフェイス コンフィギュレーション モードでも実行できます(インターフェイスが VLAN 以外の場合)。
例
例 1:次の例では、ポートのデュプレックス モードを設定するマクロを作成する方法を示します。
switchxxxxxx(config)# macro name dup
Enter macro commands one per line. End with the character ‘@’.
#macro description dup
duplex full
negotiation
@
例 2:次の例では、DUPLEX と SPEED パラメータを使用してマクロを作成する方法を示します。マクロを実行する場合、ユーザは DUPLEX と SPEED を指定する必要があります。#macro keywords コマンドにより、ユーザは例 3 のようにマクロのヘルプを受信できるようになります。
switchxxxxxx(config)# macro name duplex
Enter macro commands one per line. End with the character ‘@’.
duplex $DUPLEX
no negotiation
speed $SPEED
#macro keywords $DUPLEX $SPEED
@
例 3:次の例では、(上記の #macro keywords コマンドで定義したように)ヘルプ文字 ? を使用してキーワードを表示する方法を示し、ポートでマクロを実行します。マクロ定義で入力された #macro keywords コマンドにより、ユーザは、以下の e.g. の後に示すようにマクロのヘルプを受信できるようになります。
switchxxxxxx(config)# interface gi1/0/1
switchxxxxxx(config-if)# macro apply duplex ?
WORD <1-32> Keyword to replace with value e.g. $DUPLEX, $SPEED
<cr>
switchxxxxxx(config-if)# macro apply duplex $DUPLEX ?
WORD<1-32> First parameter value
<cr>
switchxxxxxx(config-if)# macro apply duplex $DUPLEX full $SPEED ?
WORD<1-32> Second parameter value
switchxxxxxx(config-if)# macro apply duplex $DUPLEX full $SPEED 100