У меня есть STDOUT в виде таблицы со следующим содержанием:
$kubectl get postgresql
NAME TEAM VERSION PODS VOLUME CPU-REQUEST MEMORY-REQUEST AGE STATUS
acid-minimal-cluster acid 12 2 1Gi 2d16h SyncFailed
acid-userdb acid 12 2 5Gi 100m 100Mi 2d16h SyncFailed
databaker-userdb databaker 12 2 2Gi 100m 100Mi 2d16h SyncFailed
databaker-users-db databaker 12 2 2Gi 100m 100Mi 2d15h Running
, и я хотел бы получить строку с NAME = *users-db
и STATUS = Running
, то есть последняя строка.
Я пытаюсь проверить, была ли база данных успешно развернута или нет.
Перед этим блоком кодирования:
echo "Check if database $DB_NAME is correctly deployed"
for i in {1..3}; do
if [ kubectl get postgresql $DB_NAME | egrep -q "$DB_NAME|Running" ] ; then
echo "DB $DB_NAME successfully deployed"
break
elif [ $i -eq 3 ]; then
echo "DB $DB_NAME not successfully deployed"
exit 1
fi
sleep 3
done
Сначала я должен выбрать правую строку.
Как написать сценарий bash, чтобы получить соответствующую строку с ИМЯ = *users-db
и СТАТУС = Running
?