Ich habe ein bisschen nachgeforscht, aber (zu meiner Überraschung) noch keine funktionierende Lösung gefunden. Ich habe Folgendes versucht:
# for i in `ls`; do tftp -l "$i" -p 192.168.1.100; done
Ich möchte nur den Inhalt eines ganzen Verzeichnisses per TFTP (ohne ihn zu tarnen/zippen). Das Problem ist natürlich, dass Leerzeichen in Dateinamen alles kaputt machen. Vielleicht sollte ich eine andere Strategie verwenden?
Shell-Skripting ist nicht gerade meine Stärke ...
(Extrapunkte (nicht wirklich), wenn es eine funktionierende rekursive Lösung gibt.)
Antwort1
Typ
IFS=$(echo -en "\n\b")
bevor Sie Ihre Schleife ausführen, wird dadurch das Dateinamenproblem behoben.
Wenn Sie rekursiv TFTP-Dateien verwenden möchten, verwenden Sie Folgendes -
find . -print0 | while read -d $'\0' i
do
tftp -l "$i" -p 192.168.1.100
done