少し調べてみましたが、まだ有効な解決策は見つかっていません (驚いたことに)。私は次のことを試しています:
# for i in `ls`; do tftp -l "$i" -p 192.168.1.100; done
ディレクトリ全体の内容を TFTP で転送したいだけです (tar や zip で圧縮せずに)。問題は、もちろん、ファイル名にスペースがあるとすべてが壊れてしまうことです。別の戦略を使うべきでしょうか?
シェルスクリプトは私の得意分野ではありません...
(再帰的な解決策が機能する場合は、追加ポイント (実際にはそうではありません)。)
答え1
タイプ
IFS=$(echo -en "\n\b")
ループを実行する前に、ファイル名の問題を修正します。
tftpファイルを再帰的に転送したい場合は、以下を使用します -
find . -print0 | while read -d $'\0' i
do
tftp -l "$i" -p 192.168.1.100
done