Je ne peux pas comprendre comment faire cela (quel est supposé être simple) script à travailler. Fondamentalement, ce que je veux, courir des choses différentes en fonction de l'état de mon VM Parallels, quelque chose comme ça:
if [ prlctl list --info ubuntu-vm | grep State == "State: running" ] ; then
echo 'machine is running'
else
echo 'machine is not running'
fi
Bien sûr que cela ne fonctionne pas
Le problème est que vous mettez tout cela dans [
, c'est-à-dire la commande test
. De plus, votre usage de grep
est cassé.
Tout ce dont tu as besoin c'est:
if prlctl list --info ubuntu-vm | grep -q "State: running"; then
echo 'machine is running'
else
echo 'machine is not running'
fi
Notez l'utilisation de -q
comme argument à grep
. Cela n'écrit rien à STDOUT et sort avec un statut de 0 si le match est trouvé et non-zéro autrement.