Je travaille sur un script pour vérifier si le groupe de volumes vg0 existe. Le problème est qu'il renvoie Found même lorsque je supprime le groupe de volumes. Donc, très incertain de ce qui ne va pas.
#!/bin/bash
if vgdisplay | grep 'vg0' | awk '{print $3}'; then
echo "Found"
else
echo "Not found"
fi
Dans ce cas, la condition if
est évaluée en fonction du code de sortie de awk
, qui est susceptible d'être nul sauf si l'une des commandes précédentes du pipeline échec de l'exécution.
Vous pouvez utiliser l'option -q
pour grep
à la place:
if vgdisplay | grep -q 'vg0'; then
echo "Found"
else
echo "Not found"
fi
La même chose pourrait aussi s'écrire:
vgdisplay | grep -q 'vg0' && echo "Found" || echo "Not found"