On Fri, Jan 18, 2008 at 11:08:47AM -0800, Bryan Richter bryan.richter-at-gmail.com |lugod| wrote: > Does everyone agree that the following script shouldn't last forever? > And if you agree, does it last forever nonetheless? > > ---------- > #!/bin/bash > > set -e > > false && false; > > while true; do > echo "Still here" > sleep 1 > done > > --------- > > I discovered that 'diff -q $file1 $file2 && echo "no differences"' > wasn't ending my script, in spite of having 'set -e'. From the example > above, which does last forever, it looks like all short-circuit logic > confounds it. > > bash 3.00.15(1)-release > > Red Hat Enterprise Linux ES release 4 (Nahant Update 4)
You could work around the problem with diff -q $file1 $file2 echo "no differences" If it exits on non-zero return. The only problem with doing it that way is clarity. _______________________________________________ vox-tech mailing list [email protected] http://lists.lugod.org/mailman/listinfo/vox-tech
