Linux: программирование в bash (полезные скрипты, получение опций в скриптах, функции, условия, циклы, case, массивы)

exit code
При написании скриптов строго говоря нужно знать один exit code: 0 (success).
 
Остальные это не успех по разным причинам. При скриптинге я обычно использовал exit 1 для обозначения любой ошибки, не ориентируясь на таблицу по ссылке выше или другую (противоречивую) информацию по каким-то якобы нормам.


Читать дальше

32-битные счетчики sysUpTime

C 497 дня (4-миллиарда timeticks) обновляется значение Uptime при опросе sysUpTime (DISMAN-EVENT-MIB::sysUpTimeInstance или .1.3.6.1.6.3.10.2.1.3). Такое поведение аналогично на всех устройствах, включая Cisco. 64-битного счетчика timeticks (1/100 секунды), по аналогии с Counter64,  пока не существует. Для Cisco, Alcatel и многих других устройств (даже ZTE, но не D-Link) есть альтернатива – опрашивать количество секунд со старта (не epoch seconds) (SNMP-FRAMEWORK-MIB::snmpEngineTime или .1.3.6.1.2.1.1.3.0) и конвертировать во время самостоятельно скриптом.

Читать дальше

xargs: простая многопоточность в bash

Простая многопоточность в bash: делаем скрипт для одной сети/одного IP (с любым из скнов представленных ниже, например), далее делаем список сетей/IP, открываем его через cat и натравляем скрипт через xargs.

cat nets | xargs -n 1 -I ^ -P 10 bin/test ^


Читать дальше