-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/20/15 2:49 PM, Mike Frysinger wrote:
>>>> I mean, in theory, it's simple to do that: >>>> >>>> unset BASH_COMPAT >>>> shopt -u compat31 >>>> command shopt -s compat32 2>/dev/null >>> >>> ... but that doesn't work in bash-3.2: >>> $ bash-3.2 -c 'shopt -s compat32' >>> bash-3.2: line 0: shopt: compat32: invalid shell option name >> >> No, it really does. That's why I redirected the output to /dev/null. I f >> you run with `set -e' enabled, you can follow it with `|| :'. >> >> Running those commands leaves shell_compatibility_level == 32 on all >> existing versions of bash >= bash-3.2. The trick is that on bash-3.2, >> unsetting compat31 sets the shell compatibility level to 32, so the >> failed attempt to set compat32 doesn't make a difference. > > my point was to have a code snippet that works for any bash version and a > shifting base. we've established that you aren't interested in adding mo re > compat flags, and that BASH_COMPAT is not useful for error checking. fin e, > we'll just add some ad-hoc checks ourselves using the existing bash versi on > variables. that isn't supposed to sound petulant, just accepting of the > reality of the situation. I don't think you're petulant. I gave you the code snippet you wanted. You can use whatever you'd like. - -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEUEARECAAYFAlYnkUcACgkQu1hp8GTqdKvFyACXSeoqrLQ/vBFWEWRvTnMCNIcA IwCfT7JtZUOxc+y/PWCSa5rUMJzubg0= =W03D -----END PGP SIGNATURE-----