Pesquisei um pouco, mas ainda não descobri uma solução funcional (para minha surpresa). Tenho tentado o seguinte:
# for i in `ls`; do tftp -l "$i" -p 192.168.1.100; done
Eu só quero transferir por TFTP o conteúdo de um diretório inteiro (sem tar/compactá-lo). O problema é, obviamente, que os espaços nos nomes dos arquivos quebram tudo. Talvez eu devesse usar alguma outra estratégia?
Shell script não é exatamente meu ponto forte...
(Pontos extras (na verdade não) se houver uma solução recursiva funcional.)
Responder1
Tipo
IFS=$(echo -en "\n\b")
antes de executar seu loop, isso resolverá o problema do nome do arquivo.
Se você deseja arquivos tftp recursivamente, use o seguinte -
find . -print0 | while read -d $'\0' i
do
tftp -l "$i" -p 192.168.1.100
done