Comment

Comment by jpavel2

I'm not seeing this local scope leak with bash 5.2.15. The below script works as I'd expect:

  #!/bin/bash
  
  declare -A map1=([x]=2)
  echo "1. Global scope map1[x]: ${map1[x]}"
  
  func1() {
      echo " * Enter func1"
      local -A map1
      map1[x]=3
      echo "   Local scope map1[x]: ${map1[x]}"
  }
  
  func1
  
  echo "2. Global scope map1[x]: ${map1[x]}"
outputting

  1. Global scope map1[x]: 2
   * Enter func1
     Local scope map1[x]: 3
  2. Global scope map1[x]: 2
parent jpavel2 1 year ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton