Detecting Invalid Commands - Juniper JUNOSE SOFTWARE FOR E SERIES 11.3.X - SYSTEM BASICS CONFIGURATION GUIDE 2010-10-04 Configuration Manual

Software for e series broadband services routers system basics configuration guide
Hide thumbs Also See for JUNOSE SOFTWARE FOR E SERIES 11.3.X - SYSTEM BASICS CONFIGURATION GUIDE 2010-10-04:
Table of Contents

Advertisement

host1(config)# macro testInterfaceCommand.mac badInterfaceCommandMacro
Macro 'badInterfaceCommandMacro' in file 'testInterfaceCommand.mac' starting execution (Id: 402)
Enter configuration commands, one per line.
ERX-40-94-fb(config)#interface fastEthernet 500
% invalid interface format
Macro 'badInterfaceCommandMacro' in file 'testInterfaceCommand.mac' ending execution (Id: 402)
host1(config)# show log data category macroData severity debug
NOTICE 01/07/2006 09:46:57 macroData: Macro 'badInterfaceCommandMacro' in file 'testInterfaceCommand.mac'
starting execution (Id: 402) on vty, 0
ERROR 01/07/2006 09:46:57 macroData: (Id: 402) Command error: interface fastEthernet 500, Command execution
error
NOTICE 01/07/2006 09:46:57 macroData: (Id: 402) commandError is interface fastEthernet 500
NOTICE 01/07/2006 09:46:57 macroData: (Id: 402) commandErrorStatus is Command execution error
NOTICE 01/07/2006 09:46:57 macroData: (Id: 402) runStatus is Loop:500
NOTICE 01/07/2006 09:46:57 macroData: Macro 'badInterfaceCommandMacro' in file 'testInterfaceCommand.mac'
ending execution (Id: 402) on vty, 0
Copyright © 2010, Juniper Networks, Inc.
<# endwhile #>
<# env.setResult("runStatus","complete" ) #>
<#endtmpl#>
<# onError #>
<# env.setResult("commandError", env.getErrorCommand) #>
<# env.setResult("commandErrorStatus", env.getErrorStatus) #>
<#endtmpl#>
If the macro were to run to completion, the CLI would execute the commands as follows:
interface fastEthernet 500
interface fastEthernet 499
.
.
.
interface fastEthernet 1
Because the macro uses invalid interface formats, executing the macro without the
embedded onError macro would result in error output for each loop. However, the onError
macro detects the error and stops the macro. Using the onError macro, the output appears
as follows:
End with ^Z.
^
You can determine the execution progress through the runStatus result entry in the
macroData log file. For this example, the runStatus value of 500 indicates that the macro
ended early.

Detecting Invalid Commands

In this example, the following macro file (badExecCommand.mac) is programmed to
executes four exec mode commands. However, the second command in the sequence
is invalid.
<# badExecCommandMacro #>
<# env.setResult("runStatus","start" ) #>
show clock
<# env.setResult("runStatus","after first show clock" ) #>
foo
<# env.setResult("runStatus","after foo" ) #>
show privilege
Chapter 8: Writing CLI Macros
479

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the JUNOSE SOFTWARE FOR E SERIES 11.3.X - SYSTEM BASICS CONFIGURATION GUIDE 2010-10-04 and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Junose 11.3

Table of Contents