Mam zainstalowane aws
cli. Po prostu nie jestem pewien, jak to zrobić w skrypcie powłoki.Jak używać skryptu powłoki, aby sprawdzić, czy istnieje wiadro?
kiedy uruchomić komendę aws s3 ls s3://bucket
byłoby dać mi coś takiego
błąd klienta (NoSuchBucket) wystąpił podczas wywoływania operacji ListObjects: Podany Łyżka nie istnieje
Oznacza to, że wiadro nie istnieje. Więc chcę uruchomić to ze skryptu powłoki i sprawdzić, czy znajdzie go grep
. Ale moje polecenie nie działa.
if [ $(aws s3 ls "s3://$S3_BUCKET" | grep 'NoSuchBucket' &> /dev/null) == 0 ]
then
echo "$S3_BUCKET doesn\'t exist please check again"
exit
fi
To po prostu dał mi ten
backup.sh: 20: [: 0: nieoczekiwany operator
Updated
zmieniłem skrypt być
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
I to jest wyjście mam
A client error (AllAccessDisabled) occurred when calling the ListObjects operation: All access to this object has been disabled
Więc tekst zawiera AllAccessDisabled
ale nadal nie zrobić echo
następnego wiersza.
Nadal nie działa będę aktualizować moje pytanie. – toy
To jest błąd wyjściowy. To prawdopodobnie spowoduje błąd standardowy, a nie standardowe wyjście. Musisz przekierować na to. Zobacz zaktualizowany kod. –