Bash Scripting y bc

Estoy tratando de escribir un script bash y necesitaba hacer algunos cálculos de coma flotante. Básicamente quiero hacer algo como esto:

NUM=$(echo "scale=25;$1/10" | bc)
if [ $? -ne 0 ]
then
echo bad
fi

El problema con el que me encuentro es $? tiende a retener la salida del programa echo y no la llamada bc. ¿Hay alguna manera de guardar la salida del programa bc en una variable?

EDITAR:

Gracias por las respuestas rápidas. Aquí hay otra forma de ver el problema. Digamos que modifiqué un poco el script para que se vea así:

#!/bin/bash
NUM=$(echo "scale=25;$1/10" | bc)
if [ $? -ne 0 ]
then
echo bad
exit
fi
echo "$NUM"

Cuando el usuario ingresa un valor de coma flotante normal, funciona bien:

bash script.sh 1.0

salida:

.1000000000000000000000000

Sin embargo, cuando el usuario ingresa un valor incorrecto, el script no puede recuperarse:

bash script.sh 1.0a

salida:

(standard_in) 1: parse error

Lo que intento hacer es que salga con gracia.

Respuestas a la pregunta(3)

Su respuesta a la pregunta