小编its*_*sme的帖子

无法在 bash 中抑制或使用 AWS-CLI 错误

我有一个简单的脚本,我想使用 AWS CLI 显示来自 AWS 的特定信息。

例如:

get_cluster_name() {
EKS_NAME=$(aws eks describe-cluster --name ${CUSTOMER_NAME}) && \
echo $EKS_NAME | jq -r .cluster.name}
Run Code Online (Sandbox Code Playgroud)

集群存在时的输出正常,我得到了集群的名称。

当集群不存在时,我得到:

An error occurred (ResourceNotFoundException) when calling the DescribeCluster operation: No cluster found for name: example_cluster.
Run Code Online (Sandbox Code Playgroud)

我的目标是在找不到集群时获得空输出。为此,我想在输出中使用条件中的返回代码或字符串查找。

问题是输出不是 stdout 或 stderr,因此我什至无法将其定向到 /dev/null 只是为了消除错误。

我怎样才能使这段代码正常工作?:

[[ $(get_cluster_name) =~ "ResourceNotFoundException" ]] && echo "EKS Cluster:....$(get_cluster_name)"
Run Code Online (Sandbox Code Playgroud)

或者

[[ $(get_cluster_name) ]] && echo "EKS Cluster:....$(get_cluster_name)"
Run Code Online (Sandbox Code Playgroud)

谢谢。

bash stdout stderr aws-cli

8
推荐指数
1
解决办法
9280
查看次数

标签 统计

aws-cli ×1

bash ×1

stderr ×1

stdout ×1