On Wednesday 09 May 2007 23:48, Roger Leigh wrote: > { > "$LIBEXEC_DIR/schroot-listmounts" -m "$1" | > while read mountloc; do > if [ "$AUTH_VERBOSITY" = "verbose" ]; then > echo "Unmounting $mountloc" > fi > umount "$mountloc" || exit 1 > done || exit 1 > } > > The problem here is that if schroot-listmounts segfaults (the trigger > in this case) or returns an error, the script continues without any > indication of the fact, despite "set -e" being in effect. In this bug > this results in a failure to umount a set of mounted filesystems, and > then an "rm -rf" taking out all the data further down the line.
Which means you need to get rid of the pipe. Maybe: mounts="$("$LIBEXEC_DIR/schroot-listmounts" -m "$1")" echo "$mounts" | while read mountloc; do ...
pgpIHL2hRHoWu.pgp
Description: PGP signature