Yes, it did happen and no, I am not stupid enough to execute rm -rf *. It was a bit more convoluted than that. I was trying to prepare a customized SD card image for Android emulator. The fastest way to do that was to mount the SD card on my GNU/Linux machine and modify the files. The files on SD card have root as the owner, therefore, the easiest way to maintain a clean state was to do all modifications using sudo. My script included a command rm -r ${base_dir}/${old_file}. While executing the script, due to an error both the variables were not set. It took me a few hours to recover, the broken script was never pushed, so, no one else was harmed. But since then my bash scripts have always included set -o nounset.