script nunca conclui a última linha

1

Eu escrevi este script para obter alguns arquivos de um servidor da webcam. Os arquivos, todos são baixados, mas quando eu estava executando o script, a última linha nunca termina, mesmo depois que o arquivo foi baixado. Então, eu gostaria de saber o porquê. Por que esse script nunca terminou? O comando wget obteve o último arquivo, mas não saiu.

#!/bin/bash 
x="127.0.0.1"  
z=0
while read line
do z=$(($z+1));
echo $x${line//};
wget $x${line//};
done < "/home/jay/Desktop/PINGS"
read

Então, por que esse script não termina?

    
por j0h 15.12.2015 / 03:07

1 resposta

10

A última linha contém apenas read .

Leia a página help de read , de help read :

Read a line from the standard input and split it into fields.

Então, a menos que você dê entrada para read via STDIN, ela será bloqueada indefinidamente.

Em um script, read é normalmente usado para ler linhas do (s) arquivo (s) ou para fazer a entrada do usuário (como o seu caso).

    
por heemayl 15.12.2015 / 03:10