Sun May 22 00:48:37 EDT 2005 rsc I did what you meant to do. Note that fn true { status='' } fn false { status=xxx } if(true; false) echo false if(false; true) echo true if(true && false) echo both if(false && true) echo both again are four different tests. if you use a semicolon you just end up testing the last thing. you wanted an &&.