One of the commenters mentions the `say` command, which is super-useful, but they use it like so: `scp file some-host:~; say 'copy done'`, which will notify you even if the command fails. You should use && so the notification only happens on success, or conditionally say something else.
I use this constantly in deploy, etc, scripts so I can run my compile + rsync + deploy command in a terminal, background it, and go work on something else until the process finishes. I'd say it's generally useful for anything that takes longer than 10 seconds but less than an hour (after an hour you tend to forget what's going on; might as well just email yourself.)
I remember issues arising due to weird default permissions when I tried to use beep, or bell (don't remember if it was the command or character [ctrl+g]). I think festival or the command used to play the startup sound in ubuntu where the easiest alternatives, as getting beep/bell to work is weird.
Pre-Edit: /usr/bin/canberra-gtk-play , according to my Ubuntu's startup applications preferences.
I use this constantly in deploy, etc, scripts so I can run my compile + rsync + deploy command in a terminal, background it, and go work on something else until the process finishes. I'd say it's generally useful for anything that takes longer than 10 seconds but less than an hour (after an hour you tend to forget what's going on; might as well just email yourself.)
Festival (http://www.cstr.ed.ac.uk/projects/festival/) is something similar for *NIX users.