История изменений
Исправление
annerleen,
(текущая версия)
:
~ ➤ .bin/signal
<txt><span foreground="#333">lifecell LTE ▂▃▁▁▁</span></txt>%
#!/bin/bash
### config ###
MODEMNAME="Sierra Wireless"
SIGNAL="▂▃▅▆▉"
NOSIGNAL="▁▁▁▁▁"
ERROR='<txt><span foreground="#333">%s</span></txt>'
FORMAT='<txt><span foreground="#333">%s%s %s %.15s</span></txt>'
### go ###
MODEM=`mmcli -L|grep -iE "$MODEMNAME"|head -n1|awk '{ print $1 }'`
STATE=(`mmcli -K -m "$MODEM"|grep -E 'generic.state |generic.signal-quality.value|generic.access-technologies.value\[1\]|3gpp.operator-name|3gpp.registration-state'|awk '{ print $3 }'`) #state,tech,sign,operator,reg
### display ###
[ -z "$MODEM" ] && printf "$ERROR" "offline" && exit 1
[ "${STATE[0]}" == "failed" ] && printf "$ERROR" "offline" && exit 2
[ "${STATE[0]}" == "disabled" ] && printf "$ERROR" "airplane mode" && exit 2
[ "${STATE[0]}" == "searching" ] && printf "$ERROR" "searching" && exit 3
[ "${STATE[4]}" == "idle" ] && printf "$ERROR" "no service" && exit 3
[ "${STATE[2]}" == "--" ] && printf "$ERROR" "no service" && exit 3
printf "$FORMAT" "${STATE[3]}" "$(echo ${STATE[4]}|sed 's/roaming/⚠️/;s/home//')" "${STATE[1]^^}" "${SIGNAL:0:((STATE[2]/20+1))}""${NOSIGNAL}"
скриншут
//причесал заодно немного
Исправление
annerleen,
:
~ ➤ .bin/signal
<txt><span foreground="#333">lifecell LTE ▂▃▁▁▁</span></txt>%
#!/bin/bash
### config ###
MODEMNAME="Sierra Wireless"
SIGNAL="▂▃▅▆▉"
NOSIGNAL="▁▁▁▁▁"
### go ###
MODEM=`mmcli -L|grep -iE "$MODEMNAME"|head -n1|awk '{ print $1 }'`
STATE=(`mmcli -K -m "$MODEM"|grep -E 'generic.state |generic.signal-quality.value|generic.access-technologies.value\[1\]|3gpp.operator-name|3gpp.registration-state'|awk '{ print $3 }'`) #state,tech,sign,operator,reg
### display ###
print() { printf '
### errors ###
[ -z "$MODEM" ] && printf '<txt><span foreground="#333">%s</span></txt>' "offline" && exit 1
[ "${STATE[0]}" == "failed" ] && printf '<txt><span foreground="#333">%s</span></txt>' "offline" && exit 2
[ "${STATE[0]}" == "disabled" ] && printf '<txt><span foreground="#333">%s</span></txt>' "airplane mode" && exit 2
[ "${STATE[0]}" == "searching" ] && printf '<txt><span foreground="#333">%s</span></txt>' "searching" && exit 3
[ "${STATE[4]}" == "idle" ] && printf '<txt><span foreground="#333">%s</span></txt>' "no service" && exit 3
[ "${STATE[2]}" == "--" ] && printf '<txt><span foreground="#333">%s</span></txt>' "no service" && exit 3
### display ###
printf '<txt><span foreground="#333">%s%s %s %.15s</span></txt>' "${STATE[3]}" "$(echo ${STATE[4]}|sed 's/roaming/⚠️/;s/home//')" "${STATE[1]^^}" "${SIGNAL:0:((STATE[2]/20+1))}""${NOSIGNAL}"
скриншут
Исправление
annerleen,
:
сойдёт?
~ ➤ .bin/signal
<txt><span foreground="#333">lifecell LTE ▂▃▁▁▁</span></txt>%
#!/bin/bash
### config ###
MODEMNAME="Sierra Wireless"
SIGNAL="▂▃▅▆▉"
NOSIGNAL="▁▁▁▁▁"
### go ###
MODEM=`mmcli -L|grep -iE "$MODEMNAME"|head -n1|awk '{ print $1 }'`
STATE=(`mmcli -K -m "$MODEM"|grep -E 'generic.state |generic.signal-quality.value|generic.access-technologies.value\[1\]|3gpp.operator-name|3gpp.registration-state'|awk '{ print $3 }'`) #state,tech,sign,operator,reg
### errors ###
[ -z "$MODEM" ] && printf "offline" && exit 1
[ "${STATE[0]}" == "failed" ] && printf '<txt><span foreground="#333">%s</span></txt>' "offline" && exit 2
[ "${STATE[0]}" == "disabled" ] && printf '<txt><span foreground="#333">%s</span></txt>' "airplane mode" && exit 2
[ "${STATE[0]}" == "searching" ] && printf '<txt><span foreground="#333">%s</span></txt>' "searching" && exit 3
[ "${STATE[4]}" == "idle" ] && printf '<txt><span foreground="#333">%s</span></txt>' "no service" && exit 3
[ "${STATE[2]}" == "--" ] && printf '<txt><span foreground="#333">%s</span></txt>' "no service" && exit 3
### display ###
printf '<txt><span foreground="#333">%s%s %s %.15s</span></txt>' "${STATE[3]}" "$(echo ${STATE[4]}|sed 's/roaming/⚠️/;s/home//')" "${STATE[1]^^}" "${SIGNAL:0:((STATE[2]/20+1))}""${NOSIGNAL}"
скриншут
Исходная версия
annerleen,
:
~ ➤ .bin/signal
<txt><span foreground="#333">lifecell LTE ▂▃▁▁▁</span></txt>%
#!/bin/bash
### config ###
MODEMNAME="Sierra Wireless"
SIGNAL="▂▃▅▆▉"
NOSIGNAL="▁▁▁▁▁"
### go ###
MODEM=`mmcli -L|grep -iE "$MODEMNAME"|head -n1|awk '{ print $1 }'`
STATE=(`mmcli -K -m "$MODEM"|grep -E 'generic.state |generic.signal-quality.value|generic.access-technologies.value\[1\]|3gpp.operator-name|3gpp.registration-state'|awk '{ print $3 }'`) #state,tech,sign,operator,reg
### errors ###
[ -z "$MODEM" ] && printf "offline" && exit 1
[ "${STATE[0]}" == "failed" ] && printf '<txt><span foreground="#333">%s</span></txt>' "offline" && exit 2
[ "${STATE[0]}" == "disabled" ] && printf '<txt><span foreground="#333">%s</span></txt>' "airplane mode" && exit 2
[ "${STATE[0]}" == "searching" ] && printf '<txt><span foreground="#333">%s</span></txt>' "searching" && exit 3
[ "${STATE[4]}" == "idle" ] && printf '<txt><span foreground="#333">%s</span></txt>' "no service" && exit 3
[ "${STATE[2]}" == "--" ] && printf '<txt><span foreground="#333">%s</span></txt>' "no service" && exit 3
### display ###
printf '<txt><span foreground="#333">%s%s %s %.15s</span></txt>' "${STATE[3]}" "$(echo ${STATE[4]}|sed 's/roaming/⚠️/;s/home//')" "${STATE[1]^^}" "${SIGNAL:0:((STATE[2]/20+1))}""${NOSIGNAL}"