指定されたサイズ制限 (この場合は 1GB) までファイルをあるディレクトリから別のディレクトリに移動するように、bash スクリプトのセットアップを取得しようとしています。ループに入るようにしようとしていますが、while ステートメントに問題があります。以下の出力を返し続けますが、その理由はわかりません。「$ currentSize」を使用しようとすると、bashは整数比較を期待していると言っています。しかし、bash の変数は型指定されていないはずなので、intiger にキャストすることはできませんよね? 任意のヘルプが割り当てられます。
出力
54585096
1048576
./dbsFill.bsh: line 9: [: -lt: unary operator expected
コード
#!/bin/bash
currentSize= du -s /root/Dropbox | cut -f 1
maxFillSize=1048576
echo $currentSize
echo $maxFillSize
cd /srv/fs/toSort/sortBackup
while [ $currentSize -lt $maxFillSize ]
do
#fileToMove= ls -1
#rsync -barv --remove-source-files $fileToMove /root/Dropbox/sortme
# mv -t /root/Dropbox/sortme $(ls -1 | head -n 1)
#find . -type f -exec mv -t /root/Dropbox/sortme {} \;
#currentSize= du -s /root/Dropbox | cut -f 1
# sleep 5
echo Were are here
done