¿Cómo verifico un script bash si esto
sudo docker images -q nginx
me da una cadena de resultado, lo que significa que este contenedor existe
sudo docker images -q nginx
if [ $? != '' ]
then
echo "existing"
else
echo "missing
Respuesta aceptada:
$? no es una cadena sino el estado de salida de sudo (en este caso). Para usarlo correctamente, compárelo con cero con -gt , o utilice if (( $? )) (en un shell como bash o ksh93 que hace evaluación aritmética con (( ... )) ).
Si sudo docker images -q nginx le da una cadena si el contenedor existe y nada si no existe, entonces puede almacenar eso en una variable y ver si está vacío o no:
result=$( sudo docker images -q nginx )
if [[ -n "$result" ]]; then
echo "Container exists"
else
echo "No such container"
fi