service iptables status | grep -qi "not running" && echo "stopped"
Você só precisa substituir ||
por &&
. Uma coisa confusa sobre scripts de shell é que 0 é verdadeiro e qualquer outro número é falso, oposto à maioria das outras linguagens. Isso ocorre porque os programas geralmente retornam um 0 para o sucesso.
Eu também preciso adicionar um 2>&1
após status como service
em minhas saídas de distro para stderr, mas não parece um problema para você.