title: BASH Scripting: take a filename (with spaces) as argument and use name (no ext) and also full filename as args for scripted command
body: <p>I'm just starting out using args in BASH and am trying to script setting the 'Title' tag on a given <code>.MKV</code> to match its filename: less the extension. The command...</p>
  
  <pre><code>mkvpropedit "Good Life.mkv" --edit info --set "title=Good Life"
  </code></pre>
  
  <p>...works without issue and (thanks to another answered StackOverflow question), I can pull in the full filename - with spaces and extension - and reliably split it into the full filename (i.e. "Good Life.mkv") and the filename w/out extension: i.e. "Good Life". The full script (mkvRetitle.sh) is...</p>
  
  <pre><code>#!/bin/bash
    echo "Change .MKV title to match its filename"
    eval fileWhole=\${1}
    eval fileTitle=$(echo "\${1%.*}")
  #  echo $fileWhole
  #  echo $fileTitle
    mkvpropedit fileWhole --edit info --set "title=$fileTitle"
  </code></pre>
  
  <p>The actual calling of 'mkvpropedit' in my script, however, errors out. mkvpropedit returns <code>Error: The file 'fileWhole' is not a Matroska file or it could not be found.</code> I've tried ideas found in
  <a href="https://stackoverflow.com/questions/1983048/passing-a-string-with-spaces-as-a-function-argument-in-bash">Passing a string with spaces as a function argument in bash</a></p>
  
  <p>but have had no luck and can find nothing else that looks likely: from other sites.
          I'd really appreciate the help. Thank you very much.</p>