if ! grep -Evq 'accepting|idle' /tmp/lpstat-Final.log; then
status=0
statustxt=OK
else
echo 'Something found'
fi
O principal aqui é que grep
não produzirá nenhuma saída se você usar -q
. Isso significa que usar uma substituição de comando não capturará nada ( $logcheck
em seu código estará vazio). Em vez disso, usamos o status de saída do utilitário para determinar se algo foi encontrado ou não.
Estou usando -E
aqui para tornar a expressão regular mais bonita; também é necessário para alternação (alteração com \|
em uma expressão regular básica é uma extensão, suportada por, por exemplo, GNU grep
).