ディレクトリ全体を TFTP で転送すると、名前にスペースが含まれる問題が発生する

ディレクトリ全体を TFTP で転送すると、名前にスペースが含まれる問題が発生する

少し調べてみましたが、まだ有効な解決策は見つかっていません (驚いたことに)。私は次のことを試しています:

# 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

関連情報