Scripts Bash et en colombie-britannique

Je suis en train d'écrire un script bash et j'ai besoin de faire quelques calcul en virgule flottante. Fondamentalement, je veux faire quelque chose comme ceci:

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

Le problème, je suis en cours d'exécution en est de $? tend à retenir la sortie de l'echo du programme et non de la colombie-britannique appel. Est-il possible que je enregistrer la sortie de la colombie-britannique programme dans une variable?

EDIT:

Merci pour les réponses rapides. Voici une autre façon d'envisager le problème. Dire que j'ai modifié le script un peu de sorte qu'il ressemble à ceci:

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

Lorsque les entrées de l'utilisateur normal en valeur en virgule flottante, il fonctionne très bien:

bash script.sh 1.0

de sortie:

.1000000000000000000000000

Toutefois, lorsque l'utilisateur entre une valeur incorrecte, le script ne peut pas récupérer:

bash script.sh 1.0a

de sortie:

(standard_in) 1: parse error

Ce que j'essaie de faire est d'obtenir à la sortie gracieusement.

OriginalL'auteur LandonSchropp | 2010-02-25