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