Não é possível fazer o download de dados usando o curl for loop

0

Estou tentando baixar dados do link a seguir

export ICTP_DATASITE='http://clima-dods.ictp.it/data/Data/RegCM_Data/EIN15/1990/'

Estes são os códigos:

for type in "air hgt rhum uwnd vwnd"
do
    for hh in "00 06 12 18"
    do
       curl -o ${type}.1990.${hh}.nc \
       ${ICTP_DATASITE}/EIN15/1990/${type}.1990.${hh}.nc
    done
done

Mas não está baixando e estou recebendo a seguinte mensagem de erro

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: hgt
curl: (6) Could not resolve host: rhum
curl: (6) Could not resolve host: uwnd
curl: (6) Could not resolve host: vwnd.1990.00
curl: (7) Could not resolve host: vwnd.1990.00
curl: (7) Could not resolve host: vwnd.1990.00
curl: (6) Could not resolve host: 18.nc
curl: (3) <url> malformed
curl: (6) Could not resolve host: hgt
curl: (6) Could not resolve host: rhum
curl: (6) Could not resolve host: uwnd
curl: (6) Could not resolve host: vwnd.1990.00
curl: (7) Could not resolve host: vwnd.1990.00
curl: (7) Could not resolve host: vwnd.1990.00
curl: (6) Could not resolve host: 18.nc

Você pode por favor me ajudar?

    
por Muhammadh 21.06.2016 / 06:41

1 resposta

2

Remova as aspas duplas dos itens de loop em for lines - você está interagindo com strings únicas ("air hgt rhum uwnd vwnd" e "00 06 12 18"), e não listas de itens.

Além disso, type é uma palavra reservada no bash. Use outro nome de variável, por ex. t , em vez disso.

Finalmente, você deve sempre citar duas vezes suas variáveis quando usá-las.

Juntando tudo isso, tente isto:

export ICTP_DATASITE='http://clima-dods.ictp.it/data/Data/RegCM_Data/EIN15/1990/'

for t in air hgt rhum uwnd vwnd; do
    for hh in 00 06 12 18; do
       curl -o "${t}.1990.${hh}.nc" \
       "${ICTP_DATASITE}/EIN15/1990/${t}.1990.${hh}.nc"
    done
done
    
por 21.06.2016 / 07:12

Tags