Come faccio a controllare in uno script bash se questo
sudo docker images -q nginx
mi dà una stringa di risultato, il che significa che questo contenitore è esistente
sudo docker images -q nginx
if [ $? != '' ]
then
echo "existing"
else
echo "missing
Risposta accettata:
$?
non è una stringa ma lo stato di uscita di sudo
(in questo caso). Per usarlo correttamente, confrontalo con zero con -gt
, oppure usa if (( $? ))
(in una shell come bash
o ksh93
che esegue la valutazione aritmetica con (( ... ))
).
Se sudo docker images -q nginx
ti dà una stringa se il contenitore esiste e niente in caso contrario, puoi memorizzarla in una variabile e vedere se è vuota o meno:
result=$( sudo docker images -q nginx )
if [[ -n "$result" ]]; then
echo "Container exists"
else
echo "No such container"
fi