arquivo wget batch linux

2

Estou tentando baixar imagens do site de um fabricante usando wget . Quando eu executo o comando do shell ele funciona bem. Mas quando eu corro de um arquivo eu estou recebendo um arquivo de espaço reservado.

Aqui está o comando:

wget --wait=2 --output-document=1000.jpg 'http://distributorcentral.com/resources/productimage.cfm?prod=8cb7afa6-73bf-4f9f-b251-38dc652779c9&size=large'

Aqui está o que parece em um arquivo:

wget --wait=5 --output-document=1101.jpg 'http://distributorcentral.com/resources/productimage.cfm?prod=4d41b2ff-90a4-40c1-9159-2780cd642244&size=large'
wget --wait=5 --output-document=1102.jpg 'http://distributorcentral.com/resources/productimage.cfm?prod=5e88f32e-48f2-40db-bdbd-53624448392d&size=large'
wget --wait=5 --output-document=1103.jpg 'http://distributorcentral.com/resources/productimage.cfm?prod=59292a17-ae6f-49df-a028-0a9f71686f80&size=large'

Não consigo descobrir por que não está funcionando como um arquivo de shell de lote.

    
por Anthon 13.07.2011 / 01:32

3 respostas

1

Você sabe que precisa adicionar um sinalizador x (executar) no Unix para executar um script de shell? Outra armadilha comum para os usuários do DOS é que, por razões de segurança, muitas vezes não há "." no ambiente PATH, portanto, você precisa executar "./your-script" em vez de apenas "seu-script".

Em relação à she-bang mencionada na outra resposta. Pelo menos no Linux / bin / sh é o shell padrão usado se não for dado o she-bang dentro do script. Ainda é uma boa prática adicionar sempre um a todos os scripts.

    
por 13.07.2011 / 11:58
0

Eu testei aqui e funcionou bem. Você tem uma linha she-bang no topo? #!/path/to/shell

    
por 13.07.2011 / 01:45
0

Obtenha a saída de

which bash

e

which wget

adicione o caminho retornado para bater na parte superior do seu script com um hash bang (#!). ou seja, se o bash retornar / bin / bash, então use.

#!/bin/bash

Em seguida, adicione o caminho retornado para wget. exemplo

/usr/bin/wget --wait=5 --output-document=1101.jpg 'http://distributorcentral.com/resources/productimage

finalmente, verifique se o script que você criou é executável chmod +x name-of-your-script

Se isso não funcionar, tente adicionar -x ao seu script para obter algumas informações de depuração.

#!/bin/bash -x
    
por 13.07.2011 / 15:23