簡體   English   中英

在AWS CLI describe-instances的null返回值上顯示錯誤消息

[英]Show error message on null return for AWS CLI describe-instances

我有一個bash腳本,它根據用戶的參數來調用各種實例的IP。 現在,如果他們的查詢與腳本不匹配,則根本不會返回任何內容,甚至不會返回null 我很想結合某種錯誤處理來提示用戶重試。 從內置的AWS函數到自定義錯誤消息,這可能是什么,我對此並不挑剔。

我的腳本如下:

#!/usr/bin/env bash
set -e

#READ ARGUMENTS PASSED IN - expects stack name
if [ "$#" != 1 ]; then
    echo "Illegal number of parameters.  Expecting 1: stack name"
    exit 1
fi

name=$1

aws ec2 describe-instances --query "Reservations[].Instances[].[PublicIpAddress,Tags[?Key=='Name'].Value]" --filter Name=tag:Name,Values=${name} --output text

如果成功,我會得到類似

00.00.00.000
name-of-instance

但是如果失敗,我什么也得不到。

如果aws describe-instances不返回匹配項,是否可以提示用戶或顯示錯誤消息?

首先將輸出捕獲到變量中,如下所示:

output=$(aws ec2 describe-instances --query "Reservations[].Instances[].[PublicIpAddress,Tags[?Key=='Name'].Value]" --filter Name=tag:Name,Values=${name} --output text)

然后檢查output內容。 如果有東西,請將其回顯到屏幕上。 如果沒有,請顯示您的自定義錯誤消息。

output=`aws ec2 describe-instances --query "Reservations[].Instances[].[PublicIpAddress,Tags[?Key=='Name'].Value]" --filter Name=tag:Name,Values=${name} --output text`

if [ -n "$output" ]; then
    echo "$output"
else
    echo "No such instance $name exists"
fi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM