Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

例: Op スクリプトを使用したファイルのインポート

この例の op スクリプト は、Junos XML プロトコル file-get 操作を使用して、リモート サーバーからファイルの内容を読み取ります。

要件

この例では、Junos OS を実行しているデバイスを使用します。

概要と Op スクリプト

Junos XML プロトコル file-get 操作は、ファイルの内容を読み取ります。コマンドを使用する file-get ための基本的な構文は次のとおりです。

コマンドでは file-get 、以下の tag 要素が使用されます。

  • encoding- (必須)使用するエンコーディングのタイプを指定します。、 、base64または raw エンコーディングを使用できますASCII

  • filename—(必須)このタグ内に、インポートするファイルの完全パスまたは相対パスとファイル名を含めます。相対パスを使用する場合、操作がローカルで実行される場合file-get、指定されたパスは /var/tmp/ ディレクトリに対する相対パスになります。操作が接続ハンドルのコンテキスト内でリモートで実行される場合、パスはユーザーのホーム ディレクトリに対する相対パスです。

メモ:

ASCII エンコードを使用すると、 file-get インポートされたファイル内のすべての制御文字が Unicode 文字 'SECTION SIGN' (U+00A7) に変換されます。

XSLT 構文

次のサンプル スクリプトは、リモート デバイスに接続し、指定されたファイルの内容を読み取ります。このスクリプトは、リモート デバイスの IP アドレスまたはホスト名、ファイル名、ファイル エンコーディングの 3 つの引数を取ります。変数は arguments スクリプトのグローバル レベルで宣言されるため、引数の名前と説明はコマンド ライン インターフェイス (CLI) に表示されます。

スクリプトは、操作のリモート プロシージャ コール (RPC) を含む変数を宣言しfilegetますfile-get。コマンドライン引数は、 および encoding タグ要素の値filenameを定義します。必須の引数myhostが指定されていない場合、スクリプトはエラーを発行し、実行を停止します。それ以外の場合、スクリプトはリモート デバイスへの接続に使用するユーザー名とパスワードの入力を求めます。

リモート デバイスへの接続が成功すると、スクリプトは接続ハンドルのコンテキスト内で RPC を実行します。関数の結果jcs:execute()である操作の出力file-getは、変数に格納されますout。操作でエラーが発生した場合、スクリプトはエラーを CLI に出力します。file-get操作が成功すると、ファイルの内容が変数に格納されout、CLI に出力されます。その後、リモートホストへの接続が閉じられます。

SLAXの構文

構成

手順

手順

スクリプトをダウンロード、有効化、およびテストするには:

  1. XSLT または SLAX スクリプトをテキスト ファイルにコピーし、必要に応じてファイルに import.xsl または import.slax という名前を付けて、デバイスの /var/db/scripts/op/ ディレクトリにコピーします。

  2. 設定モードでは、 ステートメントを [edit system scripts op] 階層レベルに含めfile、必要に応じて import.xsl または import.slax を使用します。

  3. コマンド commit and-quit を発行して設定をコミットし、運用モードに戻ります。

  4. オペレーショナルモードコマンドを発行 op import してopスクリプトを実行し、必要な引数を含めます。

検証

スクリプト引数の検証

目的

引数の名前と説明が CLI に表示されていることを確認します。

アクション

運用 op import ? モードコマンドを発行します。CLI は、スクリプト内のグローバル arguments 変数内の定義に基づいて、スクリプト引数の補完候補をリストします。

Op スクリプトの実行の検証

目的

スクリプトが期待どおりに動作することを確認します。

アクション

動作 op import myhost host encoding encoding filename file モード コマンドを発行し、プロンプトが表示されたら適切なユーザー名とパスワードを含めます。スクリプトの実行が成功すると、要求されたファイルの内容が表示されます。例えば:

コマンドライン引数でリモートデバイスのIPアドレスまたはホスト名を指定しなかった場合、スクリプトはエラーを発行し、実行を停止します。

また、指定されたパスまたはファイルが存在しない場合、スクリプトはエラーを発行します。