neigh.sh 897 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/sh
  2. . /usr/share/libubox/jshn.sh
  3. VARS="localIP:Local remoteIP:Remote validityTime:vTime linkQuality:LQ neighborLinkQuality:NLQ linkCost:Cost"
  4. for HOST in 127.0.0.1 ::1;do
  5. json_init
  6. json_load "$(echo /links|nc ${HOST} 9090)"
  7. if json_is_a links array;then
  8. json_select links
  9. for v in ${VARS};do
  10. eval _${v%:*}=0
  11. done
  12. for j in 0 1;do
  13. case ${j} in 1)
  14. for v in ${VARS};do
  15. eval printf \"%-\${_${v%:*}}s \" ${v#*:}
  16. done
  17. echo
  18. ;;esac
  19. i=1;while json_is_a ${i} object;do
  20. json_select ${i}
  21. json_get_vars $(for v in ${VARS};do echo ${v%:*};done)
  22. case ${j} in 0)
  23. for v in ${VARS};do
  24. eval "test \${_${v%:*}} -lt \${#${v%:*}} && _${v%:*}=\${#${v%:*}}"
  25. done
  26. ;;*)
  27. for v in ${VARS};do
  28. eval printf \"%-\${_${v%:*}}s \" \$${v%:*}
  29. done
  30. echo
  31. ;;esac
  32. json_select ..
  33. i=$(( i + 1 ))
  34. done
  35. done
  36. fi
  37. echo
  38. done