Я предполагаю, что вы запускаете go.sh &
, а не только go.sh
, а затем jobs
, так как это тривиально (не ожидается сообщения о задании после его завершения ).
Ваш сценарий запускает два задания в фоновом режиме и готово. Так что вы этого не видите. Вы также не видите задания, запускаемые сценарием, поскольку это другая оболочка. Если вы хотите увидеть задания, вместо выполнения сценария используйте его источник.
. go.sh; jobs
Теперь вы должны увидеть два списка вакансий.
Если вы предпочитаете выполнять скрипт и по-прежнему рассматривать его как задание, скажите ему подождать, пока закончатся его дочерние элементы. Добавьте wait
перед его концом. Вы также можете вызвать jobs
из скрипта.
У вас двойная странная ошибка подстановки команд:
вместо кодирования
$(`date +%m%d`)
вы должны написать только:
$(date +%m%d)
Обратная кавычка (`)используется в старой подстановке команд в стиле -, например
foo=`command`
Вместо этого рекомендуется использовать синтаксис foo=$(command)
. Обработка обратной косой черты внутри $()менее удивительна, а $()проще вложить. См.http://mywiki.wooledge.org/BashFAQ/082
declare -a files=( "A1S0" "D1S0" "D2S0" "D3S0" "D4S0" "D5S0" "D6S0" )
for n in "${!files[@]}"; do
echo aws s3api list-objects --bucket ui-dl-weather-ecmwf-ltf --prefix daily/ --query "Contents[?contains(Key, '${files[n]}$(date +%m%d)')]"
done
aws s3api list-objects --bucket ui-dl-weather-ecmwf-ltf --prefix daily/ --query Contents[?contains(Key, 'A1S00526')]
aws s3api list-objects --bucket ui-dl-weather-ecmwf-ltf --prefix daily/ --query Contents[?contains(Key, 'D1S00526')]
aws s3api list-objects --bucket ui-dl-weather-ecmwf-ltf --prefix daily/ --query Contents[?contains(Key, 'D2S00526')]
aws s3api list-objects --bucket ui-dl-weather-ecmwf-ltf --prefix daily/ --query Contents[?contains(Key, 'D3S00526')]
aws s3api list-objects --bucket ui-dl-weather-ecmwf-ltf --prefix daily/ --query Contents[?contains(Key, 'D4S00526')]
aws s3api list-objects --bucket ui-dl-weather-ecmwf-ltf --prefix daily/ --query Contents[?contains(Key, 'D5S00526')]
aws s3api list-objects --bucket ui-dl-weather-ecmwf-ltf --prefix daily/ --query Contents[?contains(Key, 'D6S00526')]
Ключ содержит расширенную дату0526