Jak mohu zkontrolovat bash skript, pokud toto
sudo docker images -q nginx
mi dává výsledný řetězec, což znamená, že tento kontejner existuje
sudo docker images -q nginx
if [ $? != '' ]
then
echo "existing"
else
echo "missing
Přijatá odpověď:
$?
není řetězec, ale stav ukončení sudo
(v tomto případě). Chcete-li to správně použít, porovnejte to s nulou s -gt
, nebo použijte if (( $? ))
(v prostředí jako bash
nebo ksh93
který provádí aritmetické vyhodnocení pomocí (( ... ))
).
Pokud sudo docker images -q nginx
vám dá řetězec, pokud kontejner existuje, a nic, pokud neexistuje, pak jej můžete uložit do proměnné a zjistit, zda je prázdná nebo ne:
result=$( sudo docker images -q nginx )
if [[ -n "$result" ]]; then
echo "Container exists"
else
echo "No such container"
fi