Is that just for practice or are you going to use the script? For the latter you should consider making some changes:
1) If you're actually looking for devices, you should monitor the contents of /dev folder (or, even better, use something like sudo lshw -short -C disk).
2) If you're looking for newly mounted file systems, you could use check /proc/mounts file.
3) A loop running continuously without pauses can eat a lot of resources needlessly. You can add sleep to mitigate that.
Now, this is still far from perfect (as it's open to race conditions and whatnot) but it'll work most of the time.
i=$(wc -l /proc/mounts | cut -d' ' -f1) # get newlines count from /proc/mounts and assign to $i variable
while :; do
sleep 1 # pause for 1 second
j=$(wc -l /proc/mounts | cut -d' ' -f1)
[ $j -gt $i ] && echo "Found new mounted filesystem"