Я пытаюсь собрать все экземпляры в регионе AWS (описать-экземпляры), а затем выделить определенные строки из конкретных AMI (описать-изображения) для каждого экземпляра, найденного с помощью первой команды. Я не хочу сначала выгружать его в файл.
for AMI in "aws ec2 describe-instances --region=us-west-2 |grep ImageId |grep -o -P 'ami.{0,18}'";
do "aws ec2 describe-images --image-ids $AMI |grep '"Name"\|ProductCodeId\|ProductCodeType'";done
Что не так с моим синтаксисом? Спасибо!
Ошибка: ec2-user @ ip-172-31-20-000: ~> ./Get-Instance-Meta.sh ./Get-Instance-Meta.sh: строка 4: синтаксическая ошибка рядом с неожиданным токеном aws'
./Get-Instance-Meta.sh: line 4:aws ec2 describe- экземпляры --region = us-west-2 | grep ImageId | grep -o -P 'ami. {0,18}'; '
Ожидается первый вывод команды:
ec2-user@ip-172-31-20-000:~> grep ImageId | aws ec2 describe-instances --region=us-west-2 |grep -o -P 'ami.{0,18}'
ami-02bf6f88fab67448b
ami-0d59109fccbbc4da2
ami-01a80cb1b7a431fb9
ami-0d86f04dd6dfc89df
Ожидается второй вывод команды:
ec2-user@ip-172-31-20-214:~> aws ec2 describe-images --image-ids ami-01a80cb1b7a431fb9 |grep '"Name"\|ProductCodeId\|ProductCodeType'
"ProductCodeId": "51luq5gebk3opt7gcvkdrrm89",
"ProductCodeType": "marketplace"
"Name": "OpenSUSE_Leap15.1TaskcatPython3_",
Я в основном просматриваю все экземпляры для ProductCodeID или ProductCodeType со значением 'null'