I wanted to generate a random decimal that was rounded to the 10ths place between .1 and 1.

I did this with the command 

```
`echo "scale=1; $(( ( RANDOM % 10 ) + 1 ))/10" | bc -l`

```

Now if you set it as a variable, say 

```
var=`echo "scale=1; $(( ( RANDOM % 10 ) + 1 ))/10" | bc -l`

```

and have your script echo var like so,

```
#!/bin/bash
var=`echo "scale=1; $(( ( RANDOM % 10 ) + 1 ))/10" | bc -l`
echo $var
echo $var
echo $var

```

It repeats the same decimal, say .4, but if you

```
#!/bin/bash
echo `echo "scale=1; $(( ( RANDOM % 10 ) + 1 ))/10" | bc -l`
echo `echo "scale=1; $(( ( RANDOM % 10 ) + 1 ))/10" | bc -l`
echo `echo "scale=1; $(( ( RANDOM % 10 ) + 1 ))/10" | bc -l`

```

It will give you three random numbers using the same command as 

```
$var=`echo "scale=1; $(( ( RANDOM % 10 ) + 1 ))/10" | bc -l`

```

Why does Bash not generate three new numbers if given the same command but as a variable?