title: implement wildcard expansion in a shell
body: <p>I am trying to create custom shell as an exercise and wanted to implement wildcard expansion. How exactly do shells like bash perform the expansion? I mean what all steps are involved? </p>
  
  <p>As I understand, the shell looks for file names in the current directory and replaces the argument which contains the '*' with the filenames which should match. Is this correct? What other wildcard expansions should a shell do other than a '*'</p>