Wie verwende ich shell-Skript, um zu überprüfen, ob ein Eimer vorhanden ist?

Habe ich aws cli installiert. Ich bin mir nur nicht sicher, wie dies in shell-Skript.

wenn ich den Befehl ausführen aws s3 ls s3://bucket es würde mir so etwas

Einen client-Fehler (NoSuchBucket) Fehler beim aufrufen der ListObjects Betrieb: Die angegebene Eimer nicht vorhanden

Bedeutet das, dass der Eimer existiert nicht. So möchte ich ausführen, dass aus dem shell-Skript und überprüfen Sie, ob grep findet. Aber mein Befehl nicht funktioniert.

if [ $(aws s3 ls "s3://$S3_BUCKET" | grep 'NoSuchBucket' &> /dev/null) == 0 ] 
then
    echo "$S3_BUCKET doesn\'t exist please check again"
    exit
fi

Er gab mir nur dieses

backup.sh: 20: [: 0: unexpected operator

Aktualisiert

Änderte ich das Skript zu

echo "S3_BUCKET=$S3_BUCKET"
if aws s3 ls "s3://$S3_BUCKET" | grep -q 'AllAccessDisabled'    
then
    echo "$S3_BUCKET doesn\'t exist please check again"
    exit
fi

- Und das ist die Ausgabe, die ich bekam

A client error (AllAccessDisabled) occurred when calling the ListObjects operation: All access to this object has been disabled

Also der text enthält AllAccessDisabled aber ich habe noch nicht die echo die nächste Zeile.

InformationsquelleAutor toy | 2015-06-26

Schreibe einen Kommentar