On 09/13/11 16:44, Donnie Berkholz wrote: > On 15:02 Tue 13 Sep , Amadeusz Żołnowski wrote: >> Excerpts from Joshua Kinard's message of 2011-09-13 14:26:02 +0200: >>>> You don't need -n/-z with [[. >>>> >>>> [[ $var ]] == [[ -n $var ]] >>>> [[ ! $var ]] == [[ -z $var ]] >>> >>> What about other comparisons, like -f, -e, or -d? >> >> Same as inside [, but no need of quotes inside [[. >> >>> Also, is this a bash4-only thing, or bash3 and/or bash2 as well? >> >> I'm not sure. >> >> OT: When I was going through recruitment process, dberkholz pointed to >> me that I use things bash4-only. And again: why we need to stick to >> ancient 3 version? I would understand pseudo POSIX compatibility, but >> what is the benefit of bash3 compatibility while bash4 is stable >> already? > > It's because people want to pretend that it's possible for incredibly > outdated systems (those with bash-3 only) to be updated.
Actually it's worse - PMS enforces this, and the only clean way out is to patch/fix/extend PMS to allow bash4 - but that breaks compatibility in silly ways. The proper way to handle that? I'm not sure, since we had a long fight to get PMS to acknowledge bash 3.2 instead of 3.0 I'm mostly ignoring PMS as it doesn't care about reality. > > We're stuck in this limbo because "we" have apparently decided that just > waiting a year, as we used to do, isn't good enough anymore; but at the > same time, we don't have a better mechanism in place yet. So we're > waffling around, doing nothing. > That's not quite correct for this case, but it shows that we need to discuss destructive changes (in the sense that they are not backwards-compatible etc.) to have any decent progress