[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
updating shopt compat settings to include current version
From: |
Mike Frysinger |
Subject: |
updating shopt compat settings to include current version |
Date: |
Thu, 15 Oct 2015 13:34:33 -0400 |
with bash-4.0, new compat options were introduced:
shopt -s compat32
and with bash-4.3, a variable was added:
export BASH_COMPAT=3.2
but things get a little weird when you want to set the compat level to
the current version:
$ echo $BASH_VERSION
4.3.42(1)-release
$ shopt -s compat43
bash: shopt: compat43: invalid shell option name
$ export BASH_COMPAT=4.3
<no error as DEFAULT_COMPAT_LEVEL is 43>
we're interested in this in Gentoo because we want to set the current
shell compat level to a min version even if that version is the active
one. ideally it'd be:
if ! shopt -s compat43 ; then
echo "error: >=bash-4.3 required, but ${BASH_VERSION} found" >&2
exit 1
fi
instead we have to probe the active version ourselves:
if ! shopt -s compat43 ; then
if [[ ${BASH_VERSINFO[0]} -ne "4" || ${BASH_VERSINFO[1]} -ne
"3" ]] ; then
echo ...
exit 1
fi
fi
the BASH_COMPAT variable isn't as useful:
- possible to accidentally export and impact other shell scripts
- doesn't fail for <bash-4.3 versions
- when set to a bad value, $? is set to 0
- need to capture & test stderr
which means you end up with:
if ([[ -n $( (BASH_COMPAT=4.3) 2>&1 ) ]] ||
[[ ${BASH_VERSINFO[0]} -lt 4 ]] ||
[[ ${BASH_VERSINFO[0]} -eq 4 && ${BASH_VERSINFO[1]} -lt 3 ]]) ; then
echo ...
exit 1
fi
BASH_COMPAT=4.3
so my request is simple: can we have compatXY added for the current version ?
so in the upcoming bash-4.4 release, get a compat44 option added.
-mike
signature.asc
Description: Digital signature
- updating shopt compat settings to include current version,
Mike Frysinger <=
- Re: updating shopt compat settings to include current version, Linda Walsh, 2015/10/15
- Re: updating shopt compat settings to include current version, Chet Ramey, 2015/10/15
- Re: updating shopt compat settings to include current version, Mike Frysinger, 2015/10/15
- Re: updating shopt compat settings to include current version, Chet Ramey, 2015/10/15
- Re: updating shopt compat settings to include current version, Mike Frysinger, 2015/10/15
- Re: updating shopt compat settings to include current version, Chet Ramey, 2015/10/16
- Re: updating shopt compat settings to include current version, Chet Ramey, 2015/10/16
- Re: updating shopt compat settings to include current version, Mike Frysinger, 2015/10/16
- Re: updating shopt compat settings to include current version, Mike Frysinger, 2015/10/20
- Re: updating shopt compat settings to include current version, Chet Ramey, 2015/10/21