Anchor(faq67)

How can I trim leading/trailing white space from one of my variables?

There are a few ways to do this

   #POSIX
   read -r var << EOF
   $var 
   EOF 

One can also achieve in bash (and ksh93) using a herestring

   # Bash
   # Remove leading whitespace:
   read -r x <<< "$x"

There's also a solution using [:glob:extglob]:

   # Bash
   shopt -s extglob
   x=${x##+([[:space:]])} x=${x%%+([[:space:]])}
   shopt -u extglob

This also works in KornShell, without needing the explicit extglob setting:

   # ksh
   x=${x##+([[:space:]])} x=${x%%+([[:space:]])}

There are many, many other ways to do this, using sed for instance:

   # POSIX
   x=$(echo "$x" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')

These are not necessarily the best, but they're known to work.