title: What is the purpose of parsing arguments to functions?
body: <p>If I do</p>
  
  <pre><code>#!/bin/bash
  
  a=2
  func() {
      echo $a
      echo $b
  }
  
  b=3
  func $b
  </code></pre>
  
  <p>then it prints <code>2\n3</code>, where I would have expected only <code>3</code>.</p>
  
  <p><strong>Question</strong></p>
  
  <p>When globals are available inside functions. What is the purpose then of parsing arguments to functions in BASH?</p>