The reason it's not working is that you're evaluating first if something is greater or equal to 25. If it isn't, then you evaluate if it's lower or equal to 24.
#!/bin/sh percent=$(qdbus --system com.nokia.csd /com/nokia/csd/csnet com.nokia.csd.CSNet.SignalStrength.SignalPercent) if [[ $percent -eq -1 ]] then echo -n "{{red}}Flightmode on" else if [[ $percent -ge 25 ]] then printf "{{yellow}}{{=$(($percent/100)).$((($percent%100)/10))$(($percent%10))}}" else if [[ $percent -le 24 ]] then printf "{{red}}{{=$(($percent/100)).$((($percent%100)/10))$(($percent%10))}}" fi fi fi