Hi Guys,
thanks for your quick reply. Now it works, as I want it. I didn't knew that it
is so easy.
My mistake was that I used for every for-each statement the whole path.
for-each(interfaces/interface) {
if(statement) {
for-each(interfaces/interface/unit) {
This is not working and through your examples I saw it immediately.
Thanks for your help and have a good day,
Ahmad
Von: Jonathan Looney [mailto:[email protected]]
Gesendet: Donnerstag, 26. Februar 2009 17:40
An: Cheikh-Moussa Ahmad
Cc: [email protected]
Betreff: Re: [j-nsp] commit scripts / slax
This will select all units and check each unit to see if it has a description
equal to "blah":
for-each(interfaces/interface) {
for-each(unit) {
if (description=="blah") {
var $int-unit = ../name _ "." _ name;
/* Check to see if the int-unit is configured in OSPF, LDP, etc. */
}
}
}
I believe the above is equivalent to:
for-each(interfaces/interface/unit) {
if (description=="blah") {
var $int_unit = ../name _ "." _ name;
/* Check to see if the int-unit is configured in OSPF, LDP, etc. */
}
}
Which is also equivalent to:
for-each(interfaces/interface/unit[description=="blah"]) {
var $int_unit = ../name _ "." _ name;
/* Check to see if the int-unit is configured in OSPF, LDP, etc. */
}
(Note that the square brackets perform a comparison at that level and only
select items matching that comparison. In this case, it performs a comparison
at the unit level and only selects units with a description equal to "blah".)
If you wanted to allow the special description to be at either the interface or
unit level, and perform the check on all units that had the description or were
units of an interface with the description, I believe this would work:
for-each(interfaces/interface/unit[../description == "blah" ||
description=="blah"]) {
var $int_unit = ../name _ "." _ name;
/* Check to see if the int-unit is configured in OSPF, LDP, etc. */
}
(That will select all units where the parent node - in this case, the interface
- has a description equal to "blah", or where the unit node itself has a
description equal to "blah".)
Alternatively, you could also use starts-with(field,pattern) to make a more
flexible match. This will select all units where the parent node - in this
case, the interface - has a description that starts with "blah", or where the
node itself has a description that starts with "blah":
for-each(interfaces/interface/unit[starts-with(../description, "blah") ||
starts-with(description, "blah")]) {
var $int_unit = ../name _ "." _ name;
/* Check to see if the int-unit is configured in OSPF, LDP, etc. */
}
As you can see, you have lots of choices. :-)
DISCLAIMER: This was all freehand, so there may be typos. :-)
-Jon
2009/2/26 Cheikh-Moussa Ahmad <[email protected]<mailto:[email protected]>>
Hi Guys,
I have a question regarding slax scripting. I have a script, which searches for
a special
description in the main interface and then check, whether unit 0 from this
particular interface
is configured under ospf and ldp. Now this works fine, but the drawback of the
script is that it
only checks the unit 0. My first idea was to concat the for-each statement, but
unfortunately
this doesn't work. I'am not really familiar with slax and it is new stuff for
me.
Anyone has an idea, how to concat for-each statements in slax, or does anyone
has a better idea/hint
to solve this ? It should be something like this :
for-each (statemet) {
if(description == '****') {
for-each (statement) {
check if interface is configured in protocolls
}
}
}
Regards,
Ahmad
Sitz der NK Networks & Services GmbH: Von-der-Wettern-Straße 15, 51149 Köln
Registergericht: Amtsgericht Köln, Registernummer HRB 30805
Geschäftsführer: Tonis Rüsche
_______________________________________________
juniper-nsp mailing list
[email protected]<mailto:[email protected]>
https://puck.nether.net/mailman/listinfo/juniper-nsp
Sitz der NK Networks & Services GmbH: Von-der-Wettern-Straße 15, 51149 Köln
Registergericht: Amtsgericht Köln, Registernummer HRB 30805
Geschäftsführer: Tonis Rüsche
_______________________________________________
juniper-nsp mailing list [email protected]
https://puck.nether.net/mailman/listinfo/juniper-nsp