For example, assume I want to check something only on certain interfaces. Can I say something like:
op check-intf <argument> [ ge-0/0/0 ge-0/0/1 ge-0/0/2 ]
If possible, I assume this would be passed as an array. If so, what is the syntax to for-each over each element?
If possible, I assume this would be passed as an array. If so, what is the syntax to for-each over each element?
you should be able to enclose the multiple values in quotes to make a single string. You could use jcs:split( " ", $argument ) to separate out the different values from the combined string. jnpr@EX4200-VC1# run op parse objects "ge-1/0/0 ge-1/1/0 ge-1/2/0" field: ge-1/0/0 field: ge-1/1/0 field: ge-1/2/0 script ----------------------------------- version 1.0; ns junos = "http://xml.juniper.net/junos/*/junos"; ns xnm = "http://xml.juniper.net/xnm/1.1/xnm"; ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0"; import "../import/junos.xsl"; var $arguments = { expr $objects; <argument> { <name> "objects"; <description> "enter objects"; } } param $objects; match / { <op-script-results> { <output method = "text"> { var $field = jcs:split(' ', $objects); for-each ($field) { expr "field: " _ . _ "\n"; } } } }
No comments:
Post a Comment