But you invoke the bash built-in read there as if it were an external program. I suspect it runs a shell and then runs the built-in in that, which would never let the variable out. No doubt you considered the alternative approach: c=`echo $a | tr -d . `
Rob