IOS XR : alias の作成

IOS と同じく IOS XR でもコマンド入力を簡単にするため alias を設定することができます。たとえば、よく使う show ipv4 interface brief を頭文字のみ取り “siib” などと短縮形を作成することが可能です。

RP/0/0/CPU0:XR1# conf t
Tue Feb 10 08:03:45.593 JST
RP/0/0/CPU0:XR1(config)#alias siib show ipv4 int brief
RP/0/0/CPU0:XR1(config)#commit
Tue Feb 10 08:04:01.283 JST
RP/0/0/CPU0:XR1(config)#end

上記設定にて siib と入力すると show ipv4 int brief に変更されて入力及び出力がされるのが分かります。

RP/0/0/CPU0:XR1#siib
RP/0/0/CPU0:XR1#show ipv4 int brief
Tue Feb 10 08:05:37.654 JST

Interface                      IP-Address      Status                Protocol
(snip)
GigabitEthernet0/0/0/0         unassigned      Up                    Up      
GigabitEthernet0/0/0/1         unassigned      Up                    Up      
GigabitEthernet0/0/0/2         unassigned      Up                    Up      
GigabitEthernet0/0/0/3         unassigned      Up                    Up      
GigabitEthernet0/0/0/4         unassigned      Up                    Up      
GigabitEthernet0/0/0/5         unassigned      Up                    Up      
GigabitEthernet0/0/0/6         unassigned      Up                    Up      
GigabitEthernet0/0/0/7         unassigned      Up                    Up      
GigabitEthernet0/0/0/8         unassigned      Up                    Up
(snip)

IOS だと上記 IOS XR のように alias を設定した元のコマンドは表示されません。そのため、他の人が alias を設定している作業ログとかを見ると見づらい場合があり、個人的には上記 IOS XR の動作の方が好きですね。

また、IOS XR では interface の alias も作成できます。接続先とかを決まった書式 toR2 とかにしておけば、構成図が手元に無い場合や記憶で接続先は分かるという場合には有効かと思います。

Tue Feb 10 08:14:25.849 JST
RP/0/0/CPU0:XR1(config)#alias toR2 gi0/0/0/5
RP/0/0/CPU0:XR1(config)#commit
Tue Feb 10 08:14:35.106 JST
RP/0/0/CPU0:XR1(config)#end

RP/0/0/CPU0:XR1#show int toR2
RP/0/0/CPU0:XR1#show int gi0/0/0/5
Tue Feb 10 08:15:34.633 JST
GigabitEthernet0/0/0/5 is up, line protocol is up 
(snip)

前述の show コマンドの alias と同様に alias 元のコマンドも表示されます。

また、IOS XR の alias では変数及び連続して実行するということが可能です。例えば、show int などで後に適宜変更したいインタフェース名がくる場合には (name) [※ name は適宜変更可能] を使います。

RP/0/0/CPU0:XR1#conf t
Tue Feb 10 08:21:37.972 JST
RP/0/0/CPU0:XR1(config)#alias si (name1) show interface $name1
RP/0/0/CPU0:XR1(config)#commit
Tue Feb 10 08:22:01.804 JST
RP/0/0/CPU0:XR1(config)#end
RP/0/0/CPU0:XR1#si(gi0/0/0/5)
RP/0/0/CPU0:XR1#show interface gi0/0/0/5
Tue Feb 10 08:22:13.056 JST
GigabitEthernet0/0/0/5 is up, line protocol is up

上記のように (name1) と変数として alias を設定し元のコマンドのところで $name1 とすると “si(gi0/0/0/5)” と入力すると () 内に記載したインタフェースが show interface の $name1 に入り出力されます。この変数を利用して連続して実行する alias を作成することも可能です。例えば、sh run int gi0/0/05 の後に sh int gi0/0/0/5 を si(gi0/0/0/5) のコマンド一つで実行します。

RP/0/0/CPU0:XR1#conf t
Tue Feb 10 08:23:22.949 JST
RP/0/0/CPU0:XR1(config)#alias si ($name1) sh run int $name1; sh int $name1
RP/0/0/CPU0:XR1(config)#commit

上記の実行例は下記です。

RP/0/0/CPU0:XR1#si(gi0/0/0/5)
RP/0/0/CPU0:XR1#sh run int gi0/0/0/5
Tue Feb 10 08:28:58.238 JST
interface GigabitEthernet0/0/0/5
 ipv4 address 192.168.1.1 255.255.255.0
!

RP/0/0/CPU0:XR1#sh int gi0/0/0/5
Tue Feb 10 08:28:58.701 JST
GigabitEthernet0/0/0/5 is up, line protocol is up 
(snip)

以上が IOS XR での簡単な alias の使用方法です。IOS とは異なる部分を理解しておくと、さらに活用できると思います。

スポンサーリンク