¿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