title: How can I test my Bash script on older versions of Bash?
body: <p>I'm working on a Bash library and want to ensure I'm supporting as many environments as possible - including old installations of Bash. My development environment is Bash 4.3, but some of my users may well be running much older versions and presently I have no way to confirm or deny that my library will work for them. In particular I'd like to be compatible with OSX (which still ships with Bash 3.2, AFAIK).</p>
  
  <p>I know Bash can run in POSIX-compliant mode; is there a similar setting to disable modern functionality? Or a way to run Bash in some sort of compatibility mode? I'm looking for any technique short of actually finding and booting up old operating systems and testing my library there.</p>
  
  <p><strong>Update</strong></p>
  
  <p>For example, I've avoided using <a href="http://www.tldp.org/LDP/abs/html/bashver4.html#assocarr" rel="noreferrer">associative arrays</a> since they were introduced in Bash 4, but it's hard to be sure without testing that I'm not accidentally using some other Bash 4+ feature.</p>