Пример программы на SLAX

Материал из Juniper Exam Wiki
Перейти к навигации Перейти к поиску

Complex XPath

Например нам требуется выцепить только список интерфейсов, начинающихся с "ge-" и не имеющих "mtu 1500".

match / {
	<op-script-results> {
		var $results = jcs:invoke("get-interface-information");
		/* Первое условие, проверка на наличие «ge-» */
		for-each ( $results/physical-interface[starts-with (name, "ge-")]) {
			/* Второе условие, проверка на отсутствие «mtu 1500» */
			for-each (./logical-interface[jcs:empty(address-family[mtu == "1500"])]) {
				<output> "Interface " _ ./name _ " has no mtu 1500"; }}}}

Вывод всех ge- интерфейсов из mtu:

Interface ge-0/0/0.60 has mtu 1500
Interface ge-0/0/0.80 has mtu 1400
Interface ge-0/0/0.100 has mtu 1500
Interface ge-0/0/0.110 has mtu 1500
Interface ge-0/0/0.32767 has mtu
Interface ge-0/0/1.0 has mtu 1500 

Вывод с нашим условием:

Interface ge-0/0/0.80 has no mtu 1500
Interface ge-0/0/0.32767 has no mtu 1500