The question is published on by Tutorial Guruji team.
I would like to detect when the transfer of a large amount of files is completed. I would like to accomplish this by detecting the size of the folder with a time delay.
Below is what I have done,
#!/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'
The until loop is not working because even when the firstSize and the newSize are not equal the loop completes. I am not familiar with writing Bash scripts so I am just making mistakes. This loop is ported over from an applescript I had wrote for the same purpose but I need something more reliable.
You messed the commands syntax. The script should look like:
#!/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'