동일한 폴더 크기를 감지하는 Bash 루프

동일한 폴더 크기를 감지하는 Bash 루프

많은 수의 파일 전송이 완료되는 시점을 감지하고 싶습니다. 폴더 크기를 느리게 감지하여 이를 수행하고 싶습니다.

내가 한 일은 다음과 같습니다.

  #!/bin/bash

firstSize= du -s /Users/test/Desktop/folder | cut -f1

sleep 3
newSize= du -s /Users/test/Desktop/folder | cut -f1


until [ $firstSize -eq $newSize ]
do
    firstSize=$newSize
    sleep 3
    newSize= du -s /Users/test/Desktop/folder | cut -f1

done

echo 'Done'

firstSize와 newSize가 동일하지 않은 경우에도 루프가 완료되기 때문에 Until 루프는 작동하지 않습니다. 저는 Bash 스크립트를 처음 작성했기 때문에 실수를 했습니다. 이 루프는 동일한 목적으로 작성한 AppleScript에서 이식되었지만 좀 더 안정적인 것이 필요했습니다.

답변1

명령 구문을 엉망으로 만들었습니다. 스크립트는 다음과 같아야 합니다.

#!/bin/sh -
firstSize=$(du -s /Users/test/Desktop/folder | cut -f1)
until
  sleep 3
  newSize=$(du -s /Users/test/Desktop/folder | cut -f1)
  [ "$firstSize" -eq "$newSize" ]
do
    firstSize=$newSize
done
echo 'Done'

관련 정보