[vox-tech] bash, short circuit logic, and errexit

Bryan Richter bryan.richter at gmail.com
Fri Jan 18 11:08:47 PST 2008


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)



-- 
Bryan Richter
aka chreekat


More information about the vox-tech mailing list