Vous n'êtes pas identifié(e).
Salut je suis Rodrigue Daniel
SVP, sans toutefois vous offensez, je souhaiterais que vous m'aidez à faire un petit script bash
permettant de contrôler les types de valeurs saisies par un utilisateur et de faire une mini-calculatrice avec les opérateurs + - * /
Donc le script demande deux nombres à un utilisateur. Il teste le type de valeur saisie
- si ce sont des entiers ou des flottants, on effectue le calcul et le résultat est en entier ou flottant selon les cas
- si ce sont des caractères ou des chaînes de caractères alors on lui dit : saisie incorrecte, veuillez saisir des nombres.
En fait je souhaiterais 3 fonctions : isInterger() -> pour le test des entier, isReal() -> pour le test sur des réels (flottant), isCaracOrString() -> pour le test sur un caractère ou sur une chaîne de caractères.
MERCI
Dernière modification par rodrigue daniel (25-11-2015 05:20:31)
Passionné par la Sécurité Informatique.
Le véritable ennemi de la connaissance n'est pas l'ignorance mais l'illusion de la connaissance.
La quête de la connaissance passe d'abord par l'humilité et ensuite la détermination.
Hors ligne
En python c'est plus simple avec int() et float() et pour les caractère input() (python 2.7) mais en bash je n'ai jamais essayé.
Pour le moment j'ai trop de travail pour tester un script dans un temps raisonnable avant un mois minimum, on à un contrat à finir dans les temps.
Mais si le souci n'est pas résolu je jetterai un oeil.
Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D
Hors ligne
echo "expression" | bc -l
le -l permet de sortir le résultat avec la partie fractionnaire autrement il renverra des entiers. De plus, bc dispose de sa propre synthaxe permettant de faire des iteratives et des alternatives aussi.
Exemple:
warlocg@linux:~$ echo "scale=10; 3/2" | bc -l
1.5000000000
warlocg@linux:~$ echo "3 / 2" | bc -l
1.50000000000000000000
warlocg@linux:~$ echo "3 * 10 ^ 2" | bc -l
300
warlocg@linux:~$ echo "3 * 10 ^ -1" | bc -l
.30000000000000000000
warlocg@linux:~$ echo "scale=2; 3 * 10 ^ -1" | bc -l
.30
Voir man bc
Hors ligne
Salut
Merci beaucoup WarLocG, tu m'as débloqué. J'ai maintenant une idée de comment je vais faire cela.
En fait mon idée était aussi de savoir comment on gère tous les types de variable (surtout les nombres) sous bash et comment je pouvais contrôler la saisie des utilisateurs...
Merci encore pour la commande bc.
Passionné par la Sécurité Informatique.
Le véritable ennemi de la connaissance n'est pas l'ignorance mais l'illusion de la connaissance.
La quête de la connaissance passe d'abord par l'humilité et ensuite la détermination.
Hors ligne