O que você está pedindo já foi mencionado:
if [ -z "$var" ] || [ -z "$var1" ]; then
echo "one or both are empty."
fi
No entanto, vale a pena mencionar que, se esse é o único uso que você está fazendo dessas variáveis, não é necessário defini-las como variáveis.
Você pode verificar o status de saída de um comando diretamente em if
constructs - e, de fato, [
é um comando, não um token especial do shell. (É exatamente equivalente ao comando test
; veja man [
)
Pelo que entendi, a saída do seu primeiro comando sudo
DEVE conter "Ótimo" e a saída do segundo DEVE conter "falhar", caso contrário você deseja acionar um alerta.
Você poderia fazer isso com muito mais clareza na minha opinião assim:
if sudo /usr/StorMan/arcconf GETCONFIG 1 LD 0 | grep -q Optimal &&
sudo /usr/StorMan/arcconf GETCONFIG 1 LD 1 | grep -q fail
then
echo "All is well."
else
echo "Error condition!"
fi