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 とは異なる部分を理解しておくと、さらに活用できると思います。