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