Comment puis-je vérifier dans un script bash si cela
sudo docker images -q nginx
me donne une chaîne de résultat, ce qui signifie que ce conteneur existe
sudo docker images -q nginx
if [ $? != '' ]
then
echo "existing"
else
echo "missing
Réponse acceptée :
$?
n'est pas une chaîne mais le statut de sortie de sudo
(dans ce cas). Pour l'utiliser correctement, comparez-le à zéro avec -gt
, ou utilisez if (( $? ))
(dans un shell comme bash
ou ksh93
qui fait une évaluation arithmétique avec (( ... ))
).
Si sudo docker images -q nginx
vous donne une chaîne si le conteneur existe et rien si ce n'est pas le cas, vous pouvez alors le stocker dans une variable et voir s'il est vide ou non :
result=$( sudo docker images -q nginx )
if [[ -n "$result" ]]; then
echo "Container exists"
else
echo "No such container"
fi