On Tue, 29 Sep 2020 21:28:59 -0700, Jason Miller <ja...@fastmail.com> wrote:
> Gentoo linux, GNU bash, version 5.0.18(1)-release (x86_64-pc-linux-gnu) > > On the above vesion of bash, the following script will not run the echo > command and print an error. On bash 4.4 it appears to treat the ${!foo} > the same as expanding an unset variable and thus outputs "bar": > > unset foo > echo ${!foo} bar > > "shopt -s compat44" does not seem to make a difference This is documented, and thus (I suppose) on purpose. See the file CHANGES: This document details the changes between this version, bash-5.0-alpha, and the previous version, bash-4.4-release. ... y. If indirect expansion attempts to indirectly reference through an unset variable, report an error. -- D.