Wie überprüfe ich in einem Bash-Skript, ob dies
sudo docker images -q nginx
gibt mir eine Ergebniszeichenfolge, was bedeutet, dass dieser Container existiert
sudo docker images -q nginx
if [ $? != '' ]
then
echo "existing"
else
echo "missing
Akzeptierte Antwort:
$? ist kein String, sondern der Exit-Status von sudo (in diesem Fall). Um das richtig zu verwenden, vergleichen Sie es mit -gt mit Null , oder verwenden Sie if (( $? )) (in einer Shell wie bash oder ksh93 die arithmetische Auswertung mit (( ... )) durchführt ).
Wenn sudo docker images -q nginx gibt Ihnen einen String, wenn der Container existiert und nichts, wenn nicht, dann können Sie das in einer Variablen speichern und sehen, ob es leer ist oder nicht:
result=$( sudo docker images -q nginx )
if [[ -n "$result" ]]; then
echo "Container exists"
else
echo "No such container"
fi