【发布时间】:2015-09-13 16:02:12
【问题描述】:
我安装了aws cli。我只是不确定如何在 shell 脚本中执行此操作。
当我运行命令 aws s3 ls s3://bucket 时,它会给我类似的东西
调用ListObjects操作时出现客户端错误(NoSuchBucket):指定的bucket不存在
这意味着存储桶不存在。所以我想从 shell 脚本运行它并检查 grep 是否找到它。但是我的命令不起作用。
if [ $(aws s3 ls "s3://$S3_BUCKET" | grep 'NoSuchBucket' &> /dev/null) == 0 ]
then
echo "$S3_BUCKET doesn\'t exist please check again"
exit
fi
它只是给了我这个
backup.sh: 20: [: 0: 意外操作员
更新
我把脚本改成了
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
这是我得到的输出
A client error (AllAccessDisabled) occurred when calling the ListObjects operation: All access to this object has been disabled
所以文本包含AllAccessDisabled,但我仍然没有echo下一行。
【问题讨论】:
标签: bash shell ubuntu amazon-s3