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

There are a few ways to do this:

   #POSIX, but fails if the variable contains newlines
   read -r var << EOF
   $var
   EOF

The easiest and cleanest way is with a bash herestring:

   read  -rd '' x <<< "$x"

Using an empty string as a delimiter means the read consumes the whole string, as NUL is used. (Remember: BASH only does C-string variables.) This is entirely safe for any text, including newlines.

There's also a solution using extglob which shows how you can use it in parameter expansion:

   # 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, suppress the trailing and leading whitespace on every lines
   x=$(echo "$x" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')