Arquivo de script Wget Bash não encontrado

1

Eu tenho o seguinte script:

for i in {1..16}; do
$wget http://url/$i.jpg -O C:/Users/User/Desktop/Test/
done

Salva o arquivo como test.sh e o executa dentro do Git no Windows.

Os arquivos estão ao vivo no servidor, mas quando eu executo o script eu recebo "Nenhum tal arquivo ou diretório" ...

Pensamentos?

    
por tackdetack 28.12.2015 / 22:52

2 respostas

1

Seu script está substancialmente correto se não for pelo caractere $ que você precisa excluir e pelo nome do arquivo que você precisa repetir

for i in {1..16}; do
   wget http://url/$i.jpg -O C:/Users/User/Desktop/Test/$i.jpg
done

De fato, a opção -O pede para escrever o nome do arquivo e não o diretório.

-O file
--output-document=file
The documents will not be written to the appropriate files, but all will be concatenated together and written to file.

Algumas palavras mais
Na sua versão $wget é uma variável nunca atribuída e tão vazia.
O resultado do comando dentro do ciclo torna-se, por exemplo,

http://url/1.jpg -O C:/Users/User/Desktop/Test/

que é um arquivo que não está presente no seu disco rígido.

Para investigar erros desse tipo, você pode adicionar um echo na linha e ver a saída gerada pelo seu ciclo:

for i in {1..16}; do
   echo $wget http://url/$i.jpg -O C:/Users/User/Desktop/Test/
done

revelará seu problema / erro.

    
por 28.12.2015 / 23:54
0

Meu diretório -P não foi criado, portanto, o wget não tinha como fazer o download dos arquivos.

Necessário para alterar -O para -P. Adicionado "" para o local do diretório.

Isso agora está funcionando

 for i in {1..16}; do
 wget http://url/$i.jpg -P "C:/Users/user/Desktop/Test"
 done

Também é necessário para garantir que a formatação esteja correta no Notepad ++. Mudou a Conversão EOL do Windows para o Unix.

    
por 29.12.2015 / 02:14

Tags