Nope.. think it has to do with how you group those arguments. With bash you have to explicitly say if it's an and/or condition stringing those up (with grouping for futher clarity preferred). Also, it's highly likely the operators don't necessarily equate to ash's. On bash: -a file True if file exists. -n string True if the length of string is non-zero. arg1 OP arg2 OP is one of -eq, -ne, -lt, -le, -gt, or -ge. These arithmetic binary operators return true if arg1 is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to arg2, respectively. Arg1 and arg2 may be positive or negative integers. Anyway, I guess I could sidestep all of these and just change the headers on your scripts to use the shell you intended them for.. Busybox, right?