title: How to detect a filename within a case statement - in unix shell?
body: <p>I coded the below code and if no -l or -L option is passes to the script I need to assume (detect) whether a filename was passed as a param. The below third condition only matches if filename is one lowercase character. How can I make it flexible to match upper and lower case letters or variable length of the string?</p>
  
  <pre><code>while [ $# -gt 0 ]
      do
  
          case $1 in
              -l)     echo ls;;
              -L)     echo ls -l;;
              [a-z])  echo filename;;
              *)  echo usage
                  exit 1;;
          esac
  
          shift
      done
  </code></pre>
  
  <p>Also, how can I include a condition in that case statement that would react to empty $1?
  If for example the script is called without any options or filenames.</p>