(57)【要約】【課題】数値や演算式を含むコマンド入力の簡略化を図ったコマンド入力簡略化機能付きネットワーク機器を提供する。【解決手段】入力部１１により入力されたコマンド名およびコマンド引数から成るコマンド文字列から解析部１２が演算式部分を抽出し、演算式部分が単純演算式である場合に第１演算部１４が当該単純演算式を演算し、演算式部分が単純演算式ならびに基数および桁数を指定された数値を演算子で結合した複合演算式である場合に記憶部１５が当該数値、基数、桁数および演算子を記憶し、第１演算部１４の演算結果と、記憶部１５に記憶された数値とを、記憶部１５に記憶された基数、桁数および演算子に基づき第２演算部１６が演算し、前記入力されたコマンド文字列を置換部１７が第２演算部１６の演算結果に置換し、置換部１７の置換結果に基づき実行部１８が当該コマンドを実行する。【選択図】図１
2005130095.tif 000002
【特許請求の範囲】
【請求項１】
コマンド名およびコマンド引数から成るコマンド文字列の入力を繰り返すことにより各種設定を行うようにしたネットワーク機器において、
入力されたコマンド文字列を解析して、前記コマンド引数に含まれる演算式部分を抽出する解析手段と、
前記解析手段により抽出された演算式部分が１つまたは２つの数値を演算子で結合した単純演算式である場合に当該単純演算式を演算する第１演算手段と、
前記解析手段により抽出された演算式部分が単純演算式ならびに基数および桁数を指定された数値を演算子で結合した複合演算式である場合に当該数値、基数、桁数および演算子を記憶する記憶手段と、
前記第１演算手段の演算結果と、前記記憶手段に記憶された数値とを、前記記憶手段に記憶された基数、桁数および演算子に基づき演算する第２演算手段と、
前記入力されたコマンド文字列を、前記第２演算手段の演算結果に置換する置換手段と、
前記置換手段の置換結果に基づき当該コマンドを実行する実行手段とを具備して成ることを特徴とするコマンド入力簡略化機能付きネットワーク機器。
【請求項２】
前記基数および桁数を指定された数値の一部に、外部参照番号を指定する外部変数を用いるようにしたことを特徴とする請求項１記載のコマンド入力簡略化機能付きネットワーク機器。
【請求項３】
前記コマンド引数の一部に数値範囲を範囲参照番号で指定する範囲変数を用いることにより、前記コマンド引数内の前記範囲変数に対応する数値を前記数値範囲内で順次変化させながら当該コマンドを実行するようにしたことを特徴とする請求項１または２記載のコマンド入力簡略化機能付きネットワーク機器。
【請求項４】
前記コマンド引数の一部に数値範囲を範囲参照番号で指定する範囲変数を用いるとともに、前記基数および桁数を指定された数値の一部に前記範囲変数を引用する引用記号を用いることにより、前記コマンド引数内の前記範囲変数および前記引用符号に対応する数値を前記数値範囲内で順次変化させながら当該コマンドを実行するようにしたことを特徴とする請求項１または２記載のコマンド入力簡略化機能付きネットワーク機器。
【請求項５】
コマンドの実行を指令する実行指令コマンドを前記コマンド文字列に追加した場合に前記置換手段による置換を実行するようにしたことを特徴とする請求項１〜４の何れか１項記載のコマンド入力簡略化機能付きネットワーク機器。
【請求項６】
コマンドの実行中止を指令する実行中止指令コマンドを前記コマンド文字列に追加した場合に前記置換手段による置換を実行しないようにしたことを特徴とする請求項１〜４の何れか１項記載のコマンド入力簡略化機能付きネットワーク機器。
【請求項７】
前記コマンド入力簡略化機能付きネットワーク機器は、ルータまたはルータ機能を有するネットワーク機器であることを特徴とする請求項１〜６の何れか１項記載のコマンド入力簡略化機能付きネットワーク機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンド名およびコマンド引数から成るコマンド文字列の入力を繰り返すことにより各種設定を行うようにしたネットワーク機器において、コマンド入力の簡略化を図ったコマンド入力簡略化機能付きネットワーク機器、特に、ルータまたはルータ機能を有するネットワーク機器に関するものである。
【背景技術】
【０００２】
各種設定のためにコマンド名およびコマンド引数から成るコマンド文字列の入力を複数回繰り返す必要があるネットワーク機器としては、例えばルータがある。ルータにおいてコマンドを用いて各種設定のための情報を入力する際には、コマンド文字列内に「定義番号」、「通番」、「アドレス」、「サイズ」等の数値が含まれるコマンドを使用することが多い。このような数値の入力は、ユーザまたはシステムエンジニアが手動操作により文字や数字を入力する必要があるため、入力操作が煩雑である。また、通番を用いて順次コマンド文字列を入力する場合のように、「通番および通番を引用する部分のみが変化して他の部分が共通になったコマンド文字列」を繰り返し入力する際には、コマンド文字列内の共通部分も毎回入力する必要があるため、「コマンド入力の簡略化」が期待されている。さらに、入力する数値が「アドレス」である場合は１６進数を用いるが、入力する数値が「サイズ」や「通番」である場合は１０進数を用いるなど、数値の種別に応じて使用する数値の基数が異なるため、コマンド入力中に２つの数字の基数を揃えるための演算を電卓等を用いて別途行う必要があるので、この点からも「コマンド入力の簡略化」が期待されている。
【０００３】
演算の簡略化手法としては、演算式の中の演算可能部分を演算結果と置換する従来技術（例えば、特許文献１参照）が提案されている。この従来技術は、置換する部分をユーザが指定する必要があり、演算式以外は扱うことができず、数値の基数および桁数を指示する手段も有していない。また、演算式の中の指定した部分を演算結果と置換する従来技術（例えば、特許文献２参照）が提案されている。この従来技術は、演算式中で演算可能部分を演算結果に置換するだけであり、演算式以外は扱うことができず、数値の基数および桁数を指示する手段も有していない。
【０００４】
さらに、コマンド文字列の一部を置換して実行したり、値を少しずつ変化させてコマンドを実行する技術として、ＵＮＩＸ（登録商標）のコマンドシェルによる外部コマンド実行やシェルプロシジャによる繰り返し実行がある。例えば、次式
ｄｕｍｐ  ｀ｐｒｉｎｔｆ  ％０８ｘ  ￥｀ｅｘｐｒ  ８  ￥＊ １６  ＋￥￥￥｀ｐｒｉｎｔｆ  ％ｄ  ０ｘ１２００￥￥￥｀￥｀｀  ｀ｅｘｐｒ  ８  ￥＊ １６｀
で示す入力例の場合には、
a)バッククォート（｀）で囲った範囲を外部コマンドとして起動する。
b)バッククォート（｀）を解釈させない場合には、エスケープ文字（￥）を直前に付けて「￥｀」とする。
c)エスケープ文字やその他の特別な文字を解釈させない場合には、エスケープ文字（￥）を直前に付けて「￥￥」とする。
d)コマンドを多重起動する場合、多重度に応じてエスケープ文字およびバッククォートの直前にエスケープ文字を付ける。
等のＵＮＩＸ（登録商標）の取り決めに基づき演算を行うことになるが、上記入力例において、「ｄｕｍｐ」コマンドは、第１引数で指定した１６進数のアドレスから第２引数で指定した１０進数のバイト数分のメモリ内容を表示するコマンドであり、「ｐｒｉｎｔｆ」コマンドは、最初の引数で指定したフォーマット（書式）で残りの引数を出力するコマンドであり、「％０８ｘ」は、０付き８桁の１６進数で表示させる指示であり、「％ｄ」は、１０進数で表示させる指示であり、「０ｘ」で始まる数値は１６進数であり、「ｅｘｐｒ」コマンドは、１０進数での単純演算を行うコマンドであり、「￥＊」は、「＊」がコマンドシェルでは任意文字として特別に解釈されるため、そのように解釈させないために直前にエスケープ文字を付けたものであるので、結局、
ｄｕｍｐ  ００００１２８０  １２８
という置換結果が得られる。
【０００５】
【特許文献１】実開平５−１２９５３号公報
【特許文献２】特開平７−１０５１４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１、特許文献２に記載された従来技術は、演算式以外は扱うことができないためコマンド名およびコマンド引数から成るコマンド文字列の入力には不適切であり、数値の基数および桁数を指示することもできない。また、上記「ＵＮＩＸ（登録商標）のコマンドシェルによる外部コマンド実行やシェルプロシジャによる繰り返し実行」の従来技術は、コマンド文字列中に演算コマンドやフォーマットコマンド等が別々に存在するため、コマンド文字列が長くかつ煩雑になるとともに、コマンドを多重起動する記述やシェルプロシジャの記述等の指定が煩雑であるため、コマンド文字列の入力が困難になり、その上、限られたリソースのためコマンドの多重起動やシェルプログラムの実行が困難なルータ等のネットワーク機器には適用が困難である。
【０００７】
本発明は、数値や演算式を含むコマンド入力の簡略化を図ったコマンド入力簡略化機能付きネットワーク機器を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記第１の目的を達成するため、請求項１に記載の第１発明は、コマンド名およびコマンド引数から成るコマンド文字列の入力を繰り返すことにより各種設定を行うようにしたネットワーク機器において、入力されたコマンド文字列を解析して、前記コマンド引数に含まれる演算式部分を抽出する解析手段と、前記解析手段により抽出された演算式部分が１つまたは２つの数値を演算子で結合した単純演算式である場合に当該単純演算式を演算する第１演算手段と、前記解析手段により抽出された演算式部分が単純演算式ならびに基数および桁数を指定された数値を演算子で結合した複合演算式である場合に当該数値、基数、桁数および演算子を記憶する記憶手段と、前記第１演算手段の演算結果と、前記記憶手段に記憶された数値とを、前記記憶手段に記憶された基数、桁数および演算子に基づき演算する第２演算手段と、前記入力されたコマンド文字列を、前記第２演算手段の演算結果に置換する置換手段と、前記置換手段の置換結果に基づき当該コマンドを実行する実行手段とを具備して成ることを特徴とする。
【０００９】
第１発明によれば、ネットワーク機器においてコマンド名およびコマンド引数から成るコマンド文字列の入力を繰り返すことにより各種設定を行う際には、解析手段が入力されたコマンド文字列を解析して前記コマンド引数に含まれる演算式部分を抽出し、第１演算手段が前記解析手段により抽出された演算式部分が１つまたは２つの数値を演算子で結合した単純演算式である場合に当該単純演算式を演算し、記憶手段が前記解析手段により抽出された演算式部分が単純演算式ならびに基数および桁数を指定された数値を演算子で結合した複合演算式である場合に当該数値、基数、桁数および演算子を記憶し、第２演算手段が前記第１演算手段の演算結果と前記記憶手段に記憶された数値とを前記記憶手段に記憶された基数、桁数および演算子に基づき演算し、置換手段が前記入力されたコマンド文字列を前記第２演算手段の演算結果に置換し、実行手段が前記置換手段の置換結果に基づき当該コマンドを実行するから、コマンド文字列中に直接的に演算式を記述することが可能になるので、上述した特許文献１、特許文献２の従来技術のように、コマンド入力中に２つの数字の基数を揃えるため等の演算を電卓等を用いて別途行う必要がない。また、演算式を直接的に入力するだけでよいので、上記ＵＮＩＸ（登録商標）の従来技術に比べて、著しくコマンド文字列の入力が単純化され、かつ、直感的になる。さらに、コマンドを実行する前に演算処理を実行することにより、既存のコマンドを一切修正すること無く当該コマンドの機能を発揮させることができるようになる。
【００１０】
請求項２に記載の第２発明は、前記基数および桁数を指定された数値の一部に、外部参照番号を指定する外部変数を用いるようにしたことを特徴とする。
【００１１】
第２発明によれば、前記基数および桁数を指定された数値の一部に、外部参照番号を指定する外部変数を用いることにより、外部参照番号の基数および桁数を第２演算手段の演算結果に反映させるようにしたので、コマンド引数（例えば第１コマンド引数）を外部変数にしておくことにより、同一コマンドを入力した場合であっても外部変数を調整することにより所望の数値に変換してコマンドを実行し得るようになる。
【００１２】
請求項３に記載の第３発明は、前記コマンド引数の一部に数値範囲を範囲参照番号で指定する範囲変数を用いることにより、前記コマンド引数内の前記範囲変数に対応する数値を前記数値範囲内で順次変化させながら当該コマンドを実行するようにしたことを特徴とする。
【００１３】
第３発明によれば、前記コマンド引数の一部に数値範囲を範囲参照番号で指定する範囲変数を用いることにより、前記コマンド引数内の前記範囲変数に対応する数値を前記数値範囲内で順次変化させながら当該コマンドを実行するようにしたから、定義番号に連動する通番のそれぞれについてコマンドを実行する際には、上記範囲変数を含む１行のコマンド入力を行うだけで済むようになり、コマンド文字列の入力操作を大幅に軽減することができる。
【００１４】
請求項４に記載の第４発明は、前記コマンド引数の一部に数値範囲を範囲参照番号で指定する範囲変数を用いるとともに、前記基数および桁数を指定された数値の一部に前記範囲変数を引用する引用記号を用いることにより、前記コマンド引数内の前記範囲変数および前記引用符号に対応する数値を前記数値範囲内で順次変化させながら当該コマンドを実行するようにしたことを特徴とする。
【００１５】
第４発明によれば、前記コマンド引数の一部に数値範囲を範囲参照番号で指定する範囲変数を用いるとともに、前記基数および桁数を指定された数値の一部に前記範囲変数を引用する引用記号を用いることにより、前記コマンド引数内の前記範囲変数および前記引用符号に対応する数値を前記数値範囲内で順次変化させながら当該コマンドを実行するようにしたから、定義番号に連動する通番のそれぞれについてコマンドを実行する際には、上記範囲変数および前記範囲変数を引用する引用記号を含む１行のコマンド入力を行うだけで済むようになり、コマンド文字列の入力操作を大幅に軽減することができる。
【００１６】
請求項５に記載の第５発明は、コマンドの実行を指令する実行指令コマンドを前記コマンド文字列に追加した場合に前記置換手段による置換を実行するようにしたことを特徴とする。
【００１７】
第５発明によれば、コマンドの実行を指令する実行指令コマンドを前記コマンド文字列に追加した場合に前記置換手段による置換を実行するようにしたから、上記第１〜第４発明の演算処理を行う際にコマンド文字列中の演算式を前記第２演算手段の演算結果に置換したい場合に前記実行指令コマンドを前記コマンド文字列に追加するだけでよいので、従来と同様のコマンド文字列入力を行い得るようになる。
【００１８】
請求項６に記載の第６発明は、コマンドの実行中止を指令する実行中止指令コマンドを前記コマンド文字列に追加した場合に前記置換手段による置換を実行しないようにしたことを特徴とする。
【００１９】
第６発明によれば、コマンドの実行中止を指令する実行中止指令コマンドを前記コマンド文字列に追加した場合に前記置換手段による置換を実行しないようにしたから、上記第１〜第４発明の演算処理を行うために記述したコマンド文字列を変更することなく、上記第１〜第４発明の演算処理時にコマンド文字列中の演算式を前記第２演算手段の演算結果に置換したくない場合に前記実行中止指令コマンドを前記コマンド文字列に追加するだけでよいので、従来と同様のコマンド文字列入力を行い得るようになる。
【００２０】
請求項７に記載の第７発明は、前記コマンド入力簡略化機能付きネットワーク機器は、ルータまたはルータ機能を有するネットワーク機器であることを特徴とする。
【００２１】
第７発明によれば、前記コマンド入力簡略化機能付きネットワーク機器は、ルータまたはルータ機能を有するネットワーク機器であるから、コマンド名およびコマンド引数から成るコマンド文字列の入力を繰り返すことにより各種設定を行うようにしたネットワーク機器の代表的なものである、ルータまたはルータ機能を有するネットワーク機器に適用することにより、顕著なコマンド入力簡略化効果が得られる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を実施するための最良の形態を図面に基づき詳細に説明する。図１は本発明の第１実施形態のコマンド入力簡略化機能付きネットワーク機器の構成を例示するブロック図である。本実施形態のコマンド入力簡略化機能付きネットワーク機器は、コマンド名およびコマンド引数から成るコマンド文字列の入力を繰り返すことにより各種設定を行うようにしたネットワーク機器であり、図１に示すように、コマンド名およびコマンド引数から成るコマンド文字列を入力するための入力部１１と、入力部１１により入力されたコマンド文字列を解析して、コマンド引数に含まれる演算式部分や、基数および桁数を指定する数値や、外部参照番号を指定する外部変数や、数値範囲を範囲参照番号で指定する範囲変数等を抽出する解析部１２と、解析部１２により抽出された範囲変数に対応する数値を範囲参照番号で指定された数値範囲内で順次変化させながら当該コマンドを実行する範囲実行部１３と、解析部１２により抽出された演算式部分が１つまたは２つの数値を演算子で結合した単純演算式である場合に当該単純演算式を演算する第１演算部１４と、解析部１２により抽出された演算式部分が単純演算式ならびに基数および桁数を指定された数値を演算子で結合した複合演算式である場合に当該数値、基数、桁数および演算子を記憶する記憶部１５と、第１演算部１４の演算結果と、記憶部１５に記憶された数値とを、記憶部１５に記憶された基数、桁数および演算子に基づき演算する第２演算部１６と、入力部１１により入力されたコマンド文字列のコマンド引数を範囲実行部１３の実行結果や第２演算部１６の演算結果に置換する置換部１７と、置換部１７の置換結果に基づき当該コマンドを実行する実行部１８と、当該コマンドの実行結果を出力する出力部１９とを具備して成る。なお、第１実施形態のコマンド入力簡略化機能付きネットワーク機器としては例えばルータを用いるものとする。その場合、上記入力部１１にはルータのキー等が対応し、上記解析部１２〜出力部１９には、ルータに内蔵されるＣＰＵ、メモリ（ＲＡＭ、ＲＯＭ）および各種プログラムやファームウエア等が対応する。
【００２３】
次に、実施形態のコマンド入力簡略化機能付きネットワーク機器におけるコマンド文字列の入力および入力されたコマンド文字列内のコマンド引数の置換処理について図面に基づき説明する。なお、以下の説明において、「ｄｕｍｐ」コマンドは第１引数で指定した１６進数のアドレスから第２引数で指定した１０進数のバイト数分のメモリ内容を表示するコマンドであり、「ｄｅｌ」コマンドは第１引数で指定したファイル名のファイルを削除するコマンドであり、
「ｒｅｎａｍｅ」コマンドは第１引数のファイル名を第２引数のファイル名に変更するコマンドであり、「０ｘ００００１２００」は基数（この場合、１６進数）および桁数（この場合、８桁）を指定された数値であり、先頭に「０ｘ」が付かない数値は１０進数の数値であり、「＄１」は一番目の外部変数であり、「［１−９９９］」は開始値１および終了値９９９で指定される範囲変数であり、「￥０００１」は第２引数内における前記範囲変数の引用位置を指定する範囲参照番号であり、「ｃｅｘｅ」コマンドは本実施形態の置換処理の実行を指令する実行指令コマンドであり、「ｃｎｅｘｅ」コマンドは本実施形態の置換処理の実行中止を指令する実行中止指令コマンドである。なお、以下の例では、基数として１０進数や１６進数を用いているが、場合によっては、２進数や８進数を用いることも可能である。
【００２４】
図２は第１実施形態のコマンド入力簡略化機能付きネットワーク機器において実行される置換処理の処理プログラムを例示するフローチャートである。まず、図２のステップＳ１では、全てのコマンド引数を処理したか否かをチェックし、全てのコマンド引数の処理が完了するまではステップＳ２に進み、全てのコマンド引数の処理が完了したときに後述するステップＳ１０に進む。ステップＳ２では、コマンド引数内の範囲変数の有無をチェックし、範囲変数がある場合にはステップＳ３に進んで図３に示す範囲処理を行い、範囲変数が無い場合にはステップＳ４に進む。
【００２５】
図３は第１実施形態のコマンド入力簡略化機能付きネットワーク機器において実行される範囲処理の処理プログラムを例示するフローチャートである。まず、図３のステップＳ１１では、範囲値＝開始値とする。例えば、範囲変数の開始値が１で終了値が９９９である場合の初回処理時には、範囲値＝１となる。次のステップＳ１２では、コマンド引数中の範囲指定部分を範囲値に置換する。上述した例の場合、範囲指定部分である［１−９９９］が１に置換されることになる。
【００２６】
次のステップＳ１３では、範囲参照番号の置換処理を行う。範囲変数を用いる場合、コマンド文字列中にバックスラッシュ（￥）および数値を記述することにより、範囲指定の位置を指定することができるため、例えば、範囲参照番号が４桁で指定されている「￥０００１」である場合には、「￥０００１」は初回処理時には範囲変数の開始値１を用いて「０００１」に置換されることになる。以上により、
ｒｅｎａｍｅ  ｆｉｌｅ［１−９９９］  ｆｉｌｅ￥０００１
というコマンド文字列の初回処理時の置換結果は、
ｒｅｎａｍｅ  ｆｉｌｅ１  ｆｉｌｅ０００１
となる。
【００２７】
次のステップＳ１４では、範囲値＝範囲値＋１とするインクリメント処理を行う。このステップＳ１４のインクリメント処理は、次のステップＳ１５で範囲値が終了値（上記例の場合、９９９）に達したと判定されるまで繰り返され、その間、ステップＳ１５のＮＯ−ステップＳ１２〜ステップＳ１５のループを繰り返すことになり、各回の処理時には、
ｒｅｎａｍｅ  ｆｉｌｅ２  ｆｉｌｅ０００２
・・・・・・・
ｒｅｎａｍｅ  ｆｉｌｅ９９９  ｆｉｌｅ０９９９
というように、ファイル名の文字数が４桁に統一された合計９９９個の置換結果が得られることになる。
【００２８】
上記図３の範囲処理の終了後には、図２のステップＳ２に戻り、再び範囲変数の有無をチェックする。ここで同一コマンド文字列中に別の範囲変数がある場合には上記と同様の処理を繰り返し、範囲変数が無ければステップＳ４に進む。ステップＳ４では、コマンド文字列中の単純演算式の有無をチェックする。ここで、１つまたは２つの数値を演算子で結合した単純演算式（具体例としては、数値の１と減算演算子−とを結合した「−１」や、数字１６および８を乗算演算子＊で結合した「１６＊８」が挙げられる）があった場合には、ステップＳ５に進んでその単純演算式の演算を実行し、単純演算式がなかった場合にはステップＳ６に進む。上記演算の終了後には、ステップＳ２に戻り、上記と同様の処理を繰り返すことになるので、同一コマンド文字列中に複数の単純演算式がある場合には全ての単純演算式の演算を行うことになる。
【００２９】
ステップＳ６では、単純演算式ならびに基数および桁数を指定された数値を演算子で結合した複合演算式の有無をチェックする。ここで、複合演算式（具体例としては、単純演算式「１６＊８」と、加算演算子「＋」と、基数および桁数を指定された数値「０ｘ００００１２００」とから成る「１６＊８＋０ｘ００００１２００」が挙げられる）があった場合には、ステップＳ７で上記複合演算式の演算を実行した後、コマンド引数を演算結果に置換し、複合演算式がなかった場合にはステップＳ８に進む。
【００３０】
上記ステップＳ８の複合演算式の演算は、１０進数の１６と１０進数の８との乗算値＝１２８を、１６進数８桁で表わされる数値「００００１２００」に加算するものであるため、その演算結果は「００００１２８０」となることから、
ｄｕｍｐ  １６＊８＋０ｘ００００１２００  １６＊８
というコマンド文字列の置換結果は、
ｄｕｍｐ  ００００１２８０  １２８
となる。上記演算の終了後には、ステップＳ２に戻り、上記と同様の処理を繰り返すことになるので、同一コマンド文字列中に複数の複合演算式がある場合には全ての複合演算式の演算およびコマンド引数と演算結果との置換を行うことになる。
【００３１】
ステップＳ８では、外部参照番号を指定する外部変数の有無をチェックする。ここで、外部変数（具体例としては、＄１＝０ｘ１２００が挙げられる）があった場合にはステップＳ９に進んでコマンド引数の一部を外部参照番号に置換し、外部変数がなかった場合にはステップＳ２に戻る。ここで、
ｄｕｍｐ  １６＊８＋＄０ｘ０００００００１  １６＊８
というコマンド文字列の置換結果は、
ｄｕｍｐ  ００００１２８０  １２８
となる。上記演算の終了後には、ステップＳ２に戻り、上記と同様の処理を繰り返すことになるので、同一コマンド文字列中に複数の外部変数がある場合には全ての外部変数の置換結果が得られることになる。
【００３２】
上述した処理の繰り返しにより全てのコマンド引数の処理が終了したとき、上記ステップＳ１のＹＥＳからステップＳ１０に進み、当該コマンドを実行する。なお、必要に応じて、ステップＳ１０の次で、当該コマンドの実行結果を出力（例えばプリント出力）するようにしてもよい。
【００３３】
上述した本実施形態のコマンド入力簡略化機能付きネットワーク機器におけるコマンド文字列の置換処理は、以下に例示する５つの機能に区分することができる。
（１）コマンド文字列の演算式を演算結果に置換する機能
コマンド文字列例  ；ｄｕｍｐ  １６＊８＋０ｘ００００１２００  １６＊８
置換結果例        ；ｄｕｍｐ  ００００１２８０  １２８
この機能を利用することにより、上述した「ＵＮＩＸ（登録商標）のコマンドシェルによる外部コマンド実行やシェルプロシジャによる繰り返し実行」の従来技術で例示したものと同一内容のコマンド文字列が、上記のような極めて単純な記述の入力で実現できることになる。なお、上記置換結果例では、コマンド引数毎に、最後に指定した数値の基数および桁数に統一されるようにしているが、最初に指定した数値の基数および桁数に統一されるようにしてもよい。
【００３４】
（２）コマンド文字列の外部変数を含む複合演算式を演算結果に置換する機能
外部変数例        ；＄１＝０ｘ１２００
コマンド文字列例  ；ｄｕｍｐ  １６＊８＋＄０ｘ０００００００１  １６＊８
外部参照番号例    ；＄０ｘ０００００００１
置換結果例        ；ｄｕｍｐ  ００００１２８０  １２８
この機能を利用することにより、上述した「ＵＮＩＸ（登録商標）のコマンドシェルによる外部コマンド実行やシェルプロシジャによる繰り返し実行」の従来技術で例示したものと同一内容のコマンド文字列が、上記のような極めて単純な記述の入力で実現できることになる。また、この機能を利用するために、上記の例のように第１コマンド引数の一部を外部変数にしておくことにより、同一コマンドを入力した場合であっても外部変数を調整することにより所望の数値に変換してコマンドを実行し得るようになる。なお、上記置換結果例では、コマンド引数毎に、最後に指定した外部参照番号の基数および桁数に統一されるようにしているが、最初に指定した外部参照番号の基数および桁数に統一されるようにしてもよい。
【００３５】
（３）コマンド文字列の範囲変数を含む複合演算式を演算結果に置換する機能
範囲変数例１      ；［０−９９９］
コマンド文字列例１；ｄｅｌ  ｔｅｍｐ［０−９９９］
置換結果例１      ；（ｔｅｍｐ０〜ｔｅｍｐ９９９という合計１０００行のコマンド文
字列が削除される。）
範囲変数例２      ；［１−９９９］
コマンド文字列例２；ｒｅｎａｍｅ  ｆｉｌｅ１［１−９９９］  ｆｉｌｅ￥０００１
置換結果例２      ；ｒｅｎａｍｅ  ｆｉｌｅ１  ｆｉｌｅ０００１
ｒｅｎａｍｅ  ｆｉｌｅ２  ｆｉｌｅ０００２
・・・・・・
ｒｅｎａｍｅ  ｆｉｌｅ９９９  ｆｉｌｅ０９９９
この機能を利用することにより、この機能を有していない従来技術であれば定義番号に連動した通番をコマンド実行する際に定義番号と同一回数（この場合、９９９回）だけ類似したコマンド文字列を繰り返し入力すべきところが、上記のような極めて単純な１行のみの記述の入力操作で実現できることになる。
【００３６】
（４）コマンド文字列に実行指令コマンド（ｃｅｘｅ）を追加した場合に上記置換を実行する機能
コマンド文字列例  ；ｃｅｘｅ ｒｅｎａｍｅ  ｆｉｌｅ１［１−９９９］  ｆｉｌｅ￥０
００１
置換結果例        ；ｒｅｎａｍｅ  ｆｉｌｅ１  ｆｉｌｅ０００１
ｒｅｎａｍｅ  ｆｉｌｅ２  ｆｉｌｅ０００２
・・・・・・
ｒｅｎａｍｅ  ｆｉｌｅ９９９  ｆｉｌｅ０９９９
この機能を利用することにより、上記（１）〜（３）の機能を利用したい場合に実行指令コマンドｃｅｘｅをコマンド文字列の先頭に追加するだけでよいので、従来と同様のコマンド文字列入力を行い得るようになる。
【００３７】
（５）コマンド文字列に実行中止指令コマンド（ｃｎｅｘｅ）を追加した場合に上記置換の実行を中止する機能
コマンド文字列例  ；ｃｎｅｘｅ ｒｅｎａｍｅ  ｆｉｌｅ１［１−９９９］  ｆｉｌｅ￥
０００１
置換結果例        ；（置換を行わない。）
この機能を利用することにより、上記（１）〜（３）の機能を利用するために記述したコマンド文字列を変更することなく、上記（１）〜（３）の機能を利用したくない場合に実行指令コマンドｃｅｘｅをコマンド文字列の先頭に追加するだけで従来と同様のコマンド文字列入力を行い得るようになる。
【００３８】
図４および図５は第１実施形態のコマンド入力簡略化機能付きネットワーク機器におけるコマンド文字列例およびその置換結果例を示す図である。図４および図５に示したコマンド文字列は、ルータの各種設定を行う際に実際に使用しているコマンド文字列の一例であり、上記（１）〜（５）の機能を複数種類組み合わせている。図４、図５の何れにおいても、先頭の１行のコマンド文字列を入力するだけで、後続する多数行の置換結果が得られ、コマンド文字入力の手間が大幅に軽減されることになる。
【００３９】
以下に、図４のコマンド文字列を区分しながら説明する。なお、ここでは、記号「￥」の代わりに記号「＼」を用いているが、これら記号は同一内容を意味している。
「ｃｅｘｅ」コマンドは、後続するコマンド文字列の実行を指令するコマンドであり、
「ｒｅｍｏｔｅ  ［０−９９９］  ｉｐ  ａｄｒｅｓｓ  ｌｏｃａｌ・・」は、「ｒｅｍｏｔｅ０」〜「ｒｅｍｏｔｅ９９９」のそれぞれにおいて、「ｉｐ  ａｄｒｅｓｓ  ｌｏｃａｌ」という固定の文字列に、順次変化する「ｌｏｃａｌ以降の部分」を加えた文字列を生成するものであり、
「１０．＼１／２５３．」は、固定部分「１０．」に、「＼１」で記述した［０−９９９］という範囲変数の範囲値（すなわち、０〜９９９）を２５３で割算したときの値を加え、さらにその後に「．」を加えた文字列を生成するものであり、
「＼１％２５３＋１．１」は、前記割算の余りを２５３で割算したときの値に「１」を加え、さらにその後に「．１」を加えた文字列を生成するものである。
上記コマンド文字列の置換結果は、図４に示すように、
ｒｅｍｏｔｅ  ０  ｉｐ  ａｄｒｅｓｓ  ｌｏｃａｌ  １０．０．１．１
ｒｅｍｏｔｅ  １  ｉｐ  ａｄｒｅｓｓ  ｌｏｃａｌ  １０．０．２．１
ｒｅｍｏｔｅ  ２  ｉｐ  ａｄｒｅｓｓ  ｌｏｃａｌ  １０．０．３．１
・・・・・・・・・
ｒｅｍｏｔｅ  ４８  ｉｐ  ａｄｒｅｓｓ  ｌｏｃａｌ  １０．０．４９．１
（以下省略）
となる。
【００４０】
次に、図５のコマンド文字列を区分しながら説明する。
「ｃｅｘｅ」コマンドは、後続するコマンド文字列の実行を指令するコマンドであり、
「ｒｅｍｏｔｅ  ［０−９９９］  ｎａｍｅ・・」は、「ｒｅｍｏｔｅ０」〜「ｒｅｍｏｔｅ９９９」のそれぞれにおいて、「ｎａｍｅ」という固定の文字列に、順次変化する「ｎａｍｅ以降の部分」を加えた文字列を生成するものであり、
「ｒｍｔ  ＼０００１」は、固定の文字列「ｒｍｔ」に、「＼１」で記述した［０−９９９］という範囲変数の範囲値（すなわち、０〜９９９）を４桁で引用した数字を加えた文字列を生成するものである。
上記コマンド文字列の置換結果は、図４に示すように、
ｒｅｍｏｔｅ  ０  ｎａｍｅ  ｒｍｔ０００１
ｒｅｍｏｔｅ  ２  ｎａｍｅ  ｒｍｔ０００２
・・・・・・・・・
ｒｅｍｏｔｅ  ４８  ｎａｍｅ  ｒｍｔ００４８
（以下省略）
となる。
【００４１】
以上説明したように、本実施形態のコマンド入力簡略化機能付きネットワーク機器によれば、各種設定の簡略化のために新たに開発した上記（１）〜（５）の機能を利用することにより、数値入力が多いコマンド文字列を入力する際に、数値に関する入力操作を著しく簡略化することができ、特に、コマンド名およびコマンド引数から成るコマンド文字列の入力を繰り返すことにより各種設定を行うようにしたネットワーク機器の代表的なものであるルータまたはルータ機能を有するネットワーク機器に適用した場合に顕著なコマンド入力簡略化効果が得られる。また、コマンド文字列中に演算式を直接的に記述するだけでよいので、入力操作が単純かつ直感的になる。さらに、既存のコマンドを修正することなく、上述した演算処理機能、置換処理機能、外部参照機能、範囲指定機能を実現することができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の第１実施形態のコマンド入力簡略化機能付きネットワーク機器の構成を例示するブロック図である。
【図２】第１実施形態のコマンド入力簡略化機能付きネットワーク機器において実行される置換処理の処理プログラムを例示するフローチャートである。
【図３】第１実施形態のコマンド入力簡略化機能付きネットワーク機器において実行される範囲処理の処理プログラムを例示するフローチャートである。
【図４】第１実施形態のコマンド入力簡略化機能付きネットワーク機器におけるコマンド文字列例およびその置換結果例を示す図である。
【図５】第１実施形態のコマンド入力簡略化機能付きネットワーク機器におけるコマンド文字列例およびその置換結果例を示す図である。
【符号の説明】
【００４３】
１１  入力部
１２  解析部
１３  範囲実行部
１４  第１演算部
１５  記憶部
１６  第２演算部
１７  置換部
１８  実行部
１９  出力部
【図１】
2005130095.tif 000003
【図２】
2005130095.tif 000004
【図３】
2005130095.tif 000005
【図４】
2005130095.tif 000006
【図５】
2005130095.tif 000007