Guest User

Untitled

a guest
Jul 3rd, 2018
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.29 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ### calculate signal ###
  4. function calculate_signal()
  5.     {
  6.  
  7.         # measurement #
  8.         signal=$1
  9.         [ x$signal == x0 ] && echo -n $NOSIGNAL && return
  10.  
  11.         # lvl #
  12.         #printf "%.15s" "${SIGNAL:0:(signal/20+1)}${NOSIGNAL}"
  13.         printf "%.15s" "${SIGNAL:0:((signal-10)/20+1)}${NOSIGNAL}"
  14.     }
  15.  
  16.  
  17. ### config ###
  18. SIGNAL="▂▃▅▆▉"
  19. NOSIGNAL="▁▁▁▁▁"
  20. MODEMNAME=ModemManager
  21. MODEM=$( mmcli -L|grep -iE $MODEMNAME|grep -oE 'Modem/[0-9]{1,3}'|cut -d'/' -f2 )
  22. IFS=$'\n'
  23. INFO=( `mmcli -m $MODEM|grep -E 'operator\ name|signal|access\ tech|state|registration'|cut -d\' -f2 | cut -d, -f1` )
  24. LEVEL=$(calculate_signal ${INFO[3]}) # signal level
  25. ROAM=$(mmcli -m $MODEM|grep -q \'roam && echo -n '✦')
  26.  
  27. #echo ${INFO[@]}
  28.  
  29. ### display ###
  30.  
  31. [ -z "$MODEM" ] && echo -n "offline" && exit 1
  32. [ "x${INFO[0]}" == "xdisabled" ]     && echo -n "airplane mode" && exit 2
  33. [ "x${INFO[0]}" == "xfailed" ]       && echo -n "no sim"        && exit 2
  34. [ "x${INFO[5]}" == "xsearching" ]    && echo -n "no service"    && exit 3
  35. [ "x${INFO[5]}" == "xidle" ]         && echo -n "no service"    && exit 3
  36. [ "x${INFO[5]}" == "xunknown" ]      && echo -n "no service"    && exit 3
  37.  
  38. echo -n "${INFO[4]}${ROAM} " # provider name
  39. echo -n "${INFO[2]} " | tr [:lower:] [:upper:] | sed 's/\-PLUS/+/g' # technology
  40. echo -n "$LEVEL" # signal
Advertisement
Add Comment
Please, Sign In to add comment