[Buildd-tools-devel] Bug#422909: Bourne shell assistance needed for Bug #422909
Oleg Verych
olecom at flower.upol.cz
Sun Jun 10 18:41:07 UTC 2007
* From: Roger Leigh
* Date: Wed, 09 May 2007 22:48:49 +0100
>
> Hi folks,
Hallo.
> # Unmount all filesystem under specified location
> # $1: mount base location
> do_umount_all()
> {
> "$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,
Two things.
1) Note, that `while' runs in the sub-shell (make sure to understand this)
2) Pipe is cause of wrong assumption. Little stick -- huge impact.
Thus, here it is:
USENET FAQ:
<http://groups.google.com/group/comp.unix.shell/browse_thread/thread/5075fe6c19ddabb9/7a08dffe06316a29?lnk=3Dst&q=3Dcomp.unix.shell+faq+pipe+status=&rnum=3D7&hl=3Den#7a08dffe06316a29>
Here Bourne shell version is most convenient, don't try to
use/understand POSIX shell version ;)
UNIX Power Tools (47.2.1.4 More Elaborate Combinations)
http://unix.org.ua/orelly/unix/upt/ch47_02.htm
Compare that to historical perspective.
Thus, without bashizms yet!
--
-o--=O`C
#oo'L O
<___=E M
More information about the Buildd-tools-devel
mailing list