Я новичок в сценариях Unix. Я немного запутался в том, как конструкция работает для циклирования нескольких переменных. Я пытаюсь захватить файл .grb2 и для всех указанных дат и времени. Вот мой сценарий ....Looping Construct in CSH
#!/bin/csh
set fhrs="nl"
set dd="09 10 11 12 13 14"
set runs="00 06 12 18"
foreach fhrs ($fhrs)
foreach dd ($dd)
foreach runs ($runs)
wget http://nomads.ncdc.noaa.gov/modeldata/cmd_pgbh/2004/200408/200408$dd/pgbh$fhrs.gdas.200408$dd$runs.grb2
end
end
end
Моего выход проходит через первую итерацию, а именно дд = 9 и работает = 00 через пробеги = 18. Как только он дойдет до конца, он просто выполняет пробеги = 18 для остальных дат (dd). Как мне получить его обратно и начать? Есть ли инструкция «continue» в csh? Нужно ли добавлять инструкцию if? Я попытался вложить foreach и установить утверждения, но это не сработало. Любое руководство будет принята с благодарностью! Благодаря!
У меня не должно было быть петли $ fhrs, поэтому я взял это. Но я все еще смущен тем, как работает цикл. Если он не работает, например, dd = 9, то цикл через часы. После того, как он достигнет последнего часа 18, он должен перейти на следующий день (dd = 10) и повторить до достижения dd = 14 и hh = 18 ...Вместо этого код проходит через первое время, соответствующее 0900 0906 0912 0918, а затем он проходит через оставшиеся дни (dd) в последний час (18) как таковой, 1018, 1118, 1218, 1318, 1418. – user3521263
См. Мои правки , Удачи. – shellter