Conforme explicado por @steeldriver, a opção precisa ser uma letra maiúscula O
para o arquivo de saída. Como regra geral, ao lidar com nomes de arquivos e outras strings, em um script, é melhor ser seguro e colocá-los entre aspas. Isso evita algumas coisas que o shell pode fazer inesperadamente. A versão modificada do seu script é:
#!/bin/bash
while true; do
date='date +%s'
ext=".jpg"
fname="$date$ext"
wget http://rawcam.ele.uri.edu/tmpfs/image.jpg -O "$fname"
sleep 100
done
O que estava acontecendo era que a época com .jpg
foi usada para criar o nome do arquivo que foi usado como o arquivo de log para essa execução do comando wget
. wget
estava baixando o arquivo image.jpg
, e para evitar que o download anterior fosse "clivado", adicionamos os números incrementados, informando em .1
, a cada nome.
* a invasão é quando um novo arquivo sobrescreve um arquivo existente com o mesmo nome.