Question : Quote string within bash

Hello,

I have the following bash code fragment:

x=0
for i in $(locate $1)
do
    dnames[$x]=$(dirname $i)
    let x=$x+1
done

Which assigns the output of a locate command into the array dnames one line at a time.  It works fine except when the path being returned from locate contains spaces in it, which appears to cause bash to break the input line at the space and put the line in two array locations.

Is there a way to quote the input to dnames to prevent spaces from being interpreted?

Thanks!

Answer : Quote string within bash

IFS='
'
x=0
for i in $(locate $1)
do
    dnames[$x]=$(dirname $i)
    let x=$x+1
done

or

IFS='
'
dnames=($(locate $1))
Random Solutions  
 
programming4us programming4us