많은 수의 파일 전송이 완료되는 시점을 감지하고 싶습니다. 폴더 크기를 느리게 감지하여 이를 수행하고 싶습니다.
내가 한 일은 다음과 같습니다.
#!/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'