Faça o download de um arquivo do local usando o comando curl em um diretório filho e salve com um nome diferente

1

Estou usando curl para baixar o arquivo de uma URL. Atualmente eu posso baixar o arquivo como está no diretório atual usando o comando curl como

curl -O http://path/to/url/17.01.24/smcfs-17.01.24.ear

Isso baixa o arquivo, mas salva-o no diretório atual pelo nome smcfs-17.01.24.ear conforme o esperado. No entanto, eu gostaria de baixar e salvar este arquivo, criando um diretório dentro do diretório atual com script bash como

if [[ ! -d "$4" ]]; then
    mkdir "$4"
    curl -O http://path/to/url/$4/smcfs-$4.ear   #I would like curl to fucntion like I said here    
fi

OBSERVAÇÃO : No snippet de código acima, estou tomando o número da versão, ou seja, 17.01.24 como 4rth argumento do script

A saída esperada será que o curl faça o download do arquivo smcfs-17.01.24.ear pelo nome smcfs.ear no diretório 17.01.24 , que é o subdiretório do diretório atual.

Eu gostaria de conseguir isso sem entrar no subdiretório, usando o curl para baixar e depois voltar para o diretório atual.

    
por Shubham Khatri 03.02.2017 / 06:11

2 respostas

2

Eu usei o seguinte para baixar um arquivo em um diretório com um determinado nome

curl "http://path/to/url/$4/smcfs-$4.ear" --output "$4/smcfs.ear"
    
por 13.02.2017 / 20:08
1

Você pode obter o comportamento desejado depois de eliminar o -O :

curl "http://path/to/url/$4/smcfs-$4.ear" > "$4/smcfs.ear"

(após o mkdir ). Por padrão, curl exibe o conteúdo que baixa para sua saída padrão; -O diz para salvá-lo em um arquivo que corresponda ao nome remoto.

    
por 03.02.2017 / 06:22

Tags