J'ai besoin de faire un calcul dans un script bash.
En console, la ligne
echo "73/10" | bc -l
répond
7.30000000000000000000
Dans mon script bash, la ligne
FNumberFormated=echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l
produit
/usr/local/bin/GeneThumb: line 403: 73/10: Aucun fichier ou
répertoire de ce type
Il y a sans doute des moyens plus évolué de récuperer le résultat d'une
division dans un script bash et je suis ouvert à toute proposition (mais
j'ai besoin du chiffre après la virgule donc la ligne
FNumberFormated=$(($FNumberNumerateur/$FNumberDenominateur))
ne convient pas.
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est
pas le même en console et dans un script.
Tout ce passe comme si le shell tentait d'interpréter l'argument que je
pipe à bc -l. Comment éviter cela ?
Merci de votre aide
--
| > la ces la galer totale, je ne suis pas ariver a en instaler un seul.
| Forcément, si on tape ./konfigur && maike && maike installe ça fonctionne
| moins bien. -+- remarque acide dans fcol.debats -+-
Hugo (né il y a 1 340 563 068 secondes)
FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
Là, tu lances la commande « "$FNumberNumerateur/$FNumberDenominateur" | bc -l » avec la variable d'environnement « FNumberFormated » positionnée à « echo » (enfin je ne sais pas si elle est définie pour le membre de gauche du pipe ou pour les deux, et j'ai la flemme de tester). Ce que tu veux faire, c'est :
FNumberFormated=`echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l`
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Tu n'as pas tapé la même commande.
Hugolino :
FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
Là, tu lances la commande « "$FNumberNumerateur/$FNumberDenominateur" | bc -l »
avec la variable d'environnement « FNumberFormated » positionnée à « echo »
(enfin je ne sais pas si elle est définie pour le membre de gauche du pipe
ou pour les deux, et j'ai la flemme de tester). Ce que tu veux faire, c'est :
FNumberFormated=`echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l`
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est
pas le même en console et dans un script.
FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
Là, tu lances la commande « "$FNumberNumerateur/$FNumberDenominateur" | bc -l » avec la variable d'environnement « FNumberFormated » positionnée à « echo » (enfin je ne sais pas si elle est définie pour le membre de gauche du pipe ou pour les deux, et j'ai la flemme de tester). Ce que tu veux faire, c'est :
FNumberFormated=`echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l`
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Tu n'as pas tapé la même commande.
Hugolino
Le Tue, 17 Oct 2006 23:39:38 +0200, Hugolino a écrit:
Bonjour,
J'ai besoin de faire un calcul dans un script bash.
En console, la ligne echo "73/10" | bc -l répond 7.30000000000000000000
Dans mon script bash, la ligne FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l produit /usr/local/bin/GeneThumb: line 403: 73/10: Aucun fichier ou répertoire de ce type
J'ai trouvé (par hasard) que la ligne FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l fonctionnait. Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
-- je sais pas di il y a quelqu'un sur internet à 1h48 mais j'aimerais bien parler! bisous -+- poisson des iles In: Guide du linuxien pervers - "Bavardage..." -+-
Le Tue, 17 Oct 2006 23:39:38 +0200, Hugolino a écrit:
Bonjour,
J'ai besoin de faire un calcul dans un script bash.
En console, la ligne
echo "73/10" | bc -l
répond
7.30000000000000000000
Dans mon script bash, la ligne
FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
produit
/usr/local/bin/GeneThumb: line 403: 73/10: Aucun fichier ou
répertoire de ce type
J'ai trouvé (par hasard) que la ligne
FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l
fonctionnait.
Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est
pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
--
je sais pas di il y a quelqu'un sur internet à 1h48 mais j'aimerais bien
parler!
bisous
-+- poisson des iles In: Guide du linuxien pervers - "Bavardage..." -+-
Le Tue, 17 Oct 2006 23:39:38 +0200, Hugolino a écrit:
Bonjour,
J'ai besoin de faire un calcul dans un script bash.
En console, la ligne echo "73/10" | bc -l répond 7.30000000000000000000
Dans mon script bash, la ligne FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l produit /usr/local/bin/GeneThumb: line 403: 73/10: Aucun fichier ou répertoire de ce type
J'ai trouvé (par hasard) que la ligne FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l fonctionnait. Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
-- je sais pas di il y a quelqu'un sur internet à 1h48 mais j'aimerais bien parler! bisous -+- poisson des iles In: Guide du linuxien pervers - "Bavardage..." -+-
Hugolino
Le Tue, 17 Oct 2006 21:58:43 +0000 (UTC), Luc Habert a écrit:
Hugolino :
FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
Là, tu lances la commande « "$FNumberNumerateur/$FNumberDenominateur" | bc -l » avec la variable d'environnement « FNumberFormated » positionnée à « echo »
Je n'ai pas compris ton histoire de "variable d'environnement", peux-tu préciser
(enfin je ne sais pas si elle est définie pour le membre de gauche du pipe ou pour les deux, et j'ai la flemme de tester). Ce que tu veux faire, c'est :
FNumberFormated=`echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l`
Ce que j'ai fini par trouver mais *par hasard*, à force de tester tout et n'importe quoi, et c'est ce qui est lassant.
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Tu n'as pas tapé la même commande.
A mon sens (mais je sais bien que je suis dans l'erreur), si. Puisque dans la ligne TestHabertìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l les deux variable $FNumberNumerateur et $FNumberDenominateur doivent être évaluées avant d'être concaténées avec le "/" puis envoyées à bc.
Merci de ton aide.
-- PRIORITY ONE INSURE RETURN OF ORGANISM FOR ANALYSIS. ALL OTHER CONSIDERATIONS SECONDARY. CREW EXPENDABLE.
Le Tue, 17 Oct 2006 21:58:43 +0000 (UTC), Luc Habert a écrit:
Hugolino :
FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
Là, tu lances la commande « "$FNumberNumerateur/$FNumberDenominateur" | bc -l »
avec la variable d'environnement « FNumberFormated » positionnée à « echo »
Je n'ai pas compris ton histoire de "variable d'environnement", peux-tu
préciser
(enfin je ne sais pas si elle est définie pour le membre de gauche du pipe
ou pour les deux, et j'ai la flemme de tester). Ce que tu veux faire, c'est :
FNumberFormated=`echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l`
Ce que j'ai fini par trouver mais *par hasard*, à force de tester tout
et n'importe quoi, et c'est ce qui est lassant.
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est
pas le même en console et dans un script.
Tu n'as pas tapé la même commande.
A mon sens (mais je sais bien que je suis dans l'erreur), si. Puisque
dans la ligne
TestHabertìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
les deux variable $FNumberNumerateur et $FNumberDenominateur doivent
être évaluées avant d'être concaténées avec le "/" puis envoyées à bc.
Merci de ton aide.
--
PRIORITY ONE
INSURE RETURN OF ORGANISM FOR ANALYSIS.
ALL OTHER CONSIDERATIONS SECONDARY.
CREW EXPENDABLE.
Le Tue, 17 Oct 2006 21:58:43 +0000 (UTC), Luc Habert a écrit:
Hugolino :
FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
Là, tu lances la commande « "$FNumberNumerateur/$FNumberDenominateur" | bc -l » avec la variable d'environnement « FNumberFormated » positionnée à « echo »
Je n'ai pas compris ton histoire de "variable d'environnement", peux-tu préciser
(enfin je ne sais pas si elle est définie pour le membre de gauche du pipe ou pour les deux, et j'ai la flemme de tester). Ce que tu veux faire, c'est :
FNumberFormated=`echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l`
Ce que j'ai fini par trouver mais *par hasard*, à force de tester tout et n'importe quoi, et c'est ce qui est lassant.
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Tu n'as pas tapé la même commande.
A mon sens (mais je sais bien que je suis dans l'erreur), si. Puisque dans la ligne TestHabertìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l les deux variable $FNumberNumerateur et $FNumberDenominateur doivent être évaluées avant d'être concaténées avec le "/" puis envoyées à bc.
Merci de ton aide.
-- PRIORITY ONE INSURE RETURN OF ORGANISM FOR ANALYSIS. ALL OTHER CONSIDERATIONS SECONDARY. CREW EXPENDABLE.
talon
Hugolino wrote:
Bonjour,
J'ai besoin de faire un calcul dans un script bash.
En console, la ligne echo "73/10" | bc -l répond 7.30000000000000000000
Dans mon script bash, la ligne FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l produit /usr/local/bin/GeneThumb: line 403: 73/10: Aucun fichier ou répertoire de ce type
J'ai besoin de faire un calcul dans un script bash.
En console, la ligne
echo "73/10" | bc -l
répond
7.30000000000000000000
Dans mon script bash, la ligne
FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
produit
/usr/local/bin/GeneThumb: line 403: 73/10: Aucun fichier ou
répertoire de ce type
J'ai besoin de faire un calcul dans un script bash.
En console, la ligne echo "73/10" | bc -l répond 7.30000000000000000000
Dans mon script bash, la ligne FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l produit /usr/local/bin/GeneThumb: line 403: 73/10: Aucun fichier ou répertoire de ce type
J'ai trouvé (par hasard) que la ligne FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l fonctionnait. Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
La programmation ce n'est pas un jeu de hasard. Si tu veux du hasard, vas à Las Vegas!
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
Bin, tu pourrais peut être commencer par apprendre le langage?
READ THIS BEFORE OPENING PACKAGE: According to certain suggested versions of the Grand Unified Theory, the primary particles constituting this product may decay to nothingness within the next four hundred million years.
Hugolino <hugolino@free.fr> writes:
J'ai trouvé (par hasard) que la ligne
FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l
fonctionnait.
Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
La programmation ce n'est pas un jeu de hasard. Si tu veux du hasard,
vas à Las Vegas!
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est
pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
Bin, tu pourrais peut être commencer par apprendre le langage?
READ THIS BEFORE OPENING PACKAGE: According to certain suggested
versions of the Grand Unified Theory, the primary particles
constituting this product may decay to nothingness within the next
four hundred million years.
J'ai trouvé (par hasard) que la ligne FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l fonctionnait. Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
La programmation ce n'est pas un jeu de hasard. Si tu veux du hasard, vas à Las Vegas!
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
Bin, tu pourrais peut être commencer par apprendre le langage?
READ THIS BEFORE OPENING PACKAGE: According to certain suggested versions of the Grand Unified Theory, the primary particles constituting this product may decay to nothingness within the next four hundred million years.
lhabert
Hugolino :
Je n'ai pas compris ton histoire de "variable d'environnement", peux-tu préciser
Quand tu tapes « PLOUM=blah sblurb », c'est en gros la même chose que « (PLOUM=blah; export blah; exec sblurb) ».
Tu n'as pas tapé la même commande.
A mon sens (mais je sais bien que je suis dans l'erreur), si. Puisque dans la ligne TestHabertìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l les deux variable $FNumberNumerateur et $FNumberDenominateur doivent être évaluées avant d'être concaténées avec le "/" puis envoyées à bc.
À mon sens, « echo "73/10" | bc -l », ce n'est pas la même commande que : FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
Hugolino :
Je n'ai pas compris ton histoire de "variable d'environnement", peux-tu
préciser
Quand tu tapes « PLOUM=blah sblurb », c'est en gros la même chose que
« (PLOUM=blah; export blah; exec sblurb) ».
Tu n'as pas tapé la même commande.
A mon sens (mais je sais bien que je suis dans l'erreur), si. Puisque
dans la ligne
TestHabertìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
les deux variable $FNumberNumerateur et $FNumberDenominateur doivent
être évaluées avant d'être concaténées avec le "/" puis envoyées à bc.
À mon sens, « echo "73/10" | bc -l », ce n'est pas la même commande que :
FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
Je n'ai pas compris ton histoire de "variable d'environnement", peux-tu préciser
Quand tu tapes « PLOUM=blah sblurb », c'est en gros la même chose que « (PLOUM=blah; export blah; exec sblurb) ».
Tu n'as pas tapé la même commande.
A mon sens (mais je sais bien que je suis dans l'erreur), si. Puisque dans la ligne TestHabertìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l les deux variable $FNumberNumerateur et $FNumberDenominateur doivent être évaluées avant d'être concaténées avec le "/" puis envoyées à bc.
À mon sens, « echo "73/10" | bc -l », ce n'est pas la même commande que : FNumberFormatedìho "$FNumberNumerateur/$FNumberDenominateur" | bc -l
lhabert
Hugolino :
J'ai trouvé (par hasard) que la ligne FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l fonctionnait. Mais je ne sais pas pourquoi
Bah parce que « $() » (à peu près équivalent à « `` », à la syntaxe des « » à l'intérieur près). est fait pour ça (exécuter une commande, récupérer sa sortie, et l'insérér sur la ligne de commande à la place du « $(...) », un peu comme si ça avait été tapé au clavier (mais pas complètement, il y a beaucoup moins de parsing exécuté dessus, et dans cette situation, il n'y en a aucun, à part virer les n finaux)).
Hugolino :
J'ai trouvé (par hasard) que la ligne
FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l
fonctionnait.
Mais je ne sais pas pourquoi
Bah parce que « $() » (à peu près équivalent à « `` », à la syntaxe des « »
à l'intérieur près). est fait pour ça (exécuter une commande, récupérer sa
sortie, et l'insérér sur la ligne de commande à la place du « $(...) », un
peu comme si ça avait été tapé au clavier (mais pas complètement, il y a
beaucoup moins de parsing exécuté dessus, et dans cette situation, il n'y en
a aucun, à part virer les n finaux)).
J'ai trouvé (par hasard) que la ligne FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l fonctionnait. Mais je ne sais pas pourquoi
Bah parce que « $() » (à peu près équivalent à « `` », à la syntaxe des « » à l'intérieur près). est fait pour ça (exécuter une commande, récupérer sa sortie, et l'insérér sur la ligne de commande à la place du « $(...) », un peu comme si ça avait été tapé au clavier (mais pas complètement, il y a beaucoup moins de parsing exécuté dessus, et dans cette situation, il n'y en a aucun, à part virer les n finaux)).
Hugolino
Le Wed, 18 Oct 2006 05:06:32 +0200, Pascal Bourguignon a écrit:
Hugolino writes:
J'ai trouvé (par hasard) que la ligne FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l fonctionnait. Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
La programmation ce n'est pas un jeu de hasard. Si tu veux du hasard, vas à Las Vegas!
Trop loin ;-)
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
Bin, tu pourrais peut être commencer par apprendre le langage?
man bash
Le problème c'est que je n'en fais pas assez pour retenir la syntaxe du langage. J'ai acheté le livre "Script sous Linux" de C.Blaess, mais la partie consacrée à Bash fait plus de 200 pages, soit un peu trop pour servir de pense bête.
Merci à tous pour votre aide.
-- PRIORITY ONE INSURE RETURN OF ORGANISM FOR ANALYSIS. ALL OTHER CONSIDERATIONS SECONDARY. CREW EXPENDABLE.
Le Wed, 18 Oct 2006 05:06:32 +0200, Pascal Bourguignon a écrit:
Hugolino <hugolino@free.fr> writes:
J'ai trouvé (par hasard) que la ligne
FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l
fonctionnait.
Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
La programmation ce n'est pas un jeu de hasard. Si tu veux du hasard,
vas à Las Vegas!
Trop loin ;-)
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est
pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
Bin, tu pourrais peut être commencer par apprendre le langage?
man bash
Le problème c'est que je n'en fais pas assez pour retenir la syntaxe du
langage.
J'ai acheté le livre "Script sous Linux" de C.Blaess, mais la partie
consacrée à Bash fait plus de 200 pages, soit un peu trop pour servir de
pense bête.
Merci à tous pour votre aide.
--
PRIORITY ONE
INSURE RETURN OF ORGANISM FOR ANALYSIS.
ALL OTHER CONSIDERATIONS SECONDARY.
CREW EXPENDABLE.
Le Wed, 18 Oct 2006 05:06:32 +0200, Pascal Bourguignon a écrit:
Hugolino writes:
J'ai trouvé (par hasard) que la ligne FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l fonctionnait. Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
La programmation ce n'est pas un jeu de hasard. Si tu veux du hasard, vas à Las Vegas!
Trop loin ;-)
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
Bin, tu pourrais peut être commencer par apprendre le langage?
man bash
Le problème c'est que je n'en fais pas assez pour retenir la syntaxe du langage. J'ai acheté le livre "Script sous Linux" de C.Blaess, mais la partie consacrée à Bash fait plus de 200 pages, soit un peu trop pour servir de pense bête.
Merci à tous pour votre aide.
-- PRIORITY ONE INSURE RETURN OF ORGANISM FOR ANALYSIS. ALL OTHER CONSIDERATIONS SECONDARY. CREW EXPENDABLE.
lhabert
Hugolino :
J'ai acheté le livre "Script sous Linux" de C.Blaess, mais la partie consacrée à Bash fait plus de 200 pages, soit un peu trop pour servir de pense bête.
Lis les pages info de bash, c'est assez bien pour débuter en shell.
Hugolino :
J'ai acheté le livre "Script sous Linux" de C.Blaess, mais la partie
consacrée à Bash fait plus de 200 pages, soit un peu trop pour servir de
pense bête.
Lis les pages info de bash, c'est assez bien pour débuter en shell.
J'ai acheté le livre "Script sous Linux" de C.Blaess, mais la partie consacrée à Bash fait plus de 200 pages, soit un peu trop pour servir de pense bête.
Lis les pages info de bash, c'est assez bien pour débuter en shell.
Pascal Bourguignon
Hugolino writes:
Le Wed, 18 Oct 2006 05:06:32 +0200, Pascal Bourguignon a écrit:
Hugolino writes:
J'ai trouvé (par hasard) que la ligne FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l fonctionnait. Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
La programmation ce n'est pas un jeu de hasard. Si tu veux du hasard, vas à Las Vegas!
Trop loin ;-)
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
Bin, tu pourrais peut être commencer par apprendre le langage?
man bash
Le problème c'est que je n'en fais pas assez pour retenir la syntaxe du langage. J'ai acheté le livre "Script sous Linux" de C.Blaess, mais la partie consacrée à Bash fait plus de 200 pages, soit un peu trop pour servir de pense bête.
Bin alors, pourquoi tu t'embête avec le shell?
Tu peux écrire tes scripts avec n'importe quel langage sur unix. Il suffit de mettre le chemin de l'interpréteur au lieu du chemin de bash.
Par exemple, comme je travailles tout les jours avec lisp, je n'ai pas de problème pour en retenir la syntaxe, alors j'écris:
[ tmp]$ cat ./script #!/usr/bin/clisp -ansi (destructuring-bind (&optional num denum) (mapcar (function read-from-string) ext:*args*) (if (and (numberp num) (numberp denum) (not (zerop denum))) (print (/ num denum)) (format *error-output* "~&Invalid arguments, expects two numbers, ~ the second non null.~%"))) [ tmp]$ ./script Invalid arguments, expects two numbers, the second non null. [ tmp]$ ./script 4233 32
529/4 [ tmp]$
-- __Pascal Bourguignon__ http://www.informatimago.com/ Wanna go outside. Oh, no! Help! I got outside! Let me back inside!
Hugolino <hugolino@free.fr> writes:
Le Wed, 18 Oct 2006 05:06:32 +0200, Pascal Bourguignon a écrit:
Hugolino <hugolino@free.fr> writes:
J'ai trouvé (par hasard) que la ligne
FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l
fonctionnait.
Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
La programmation ce n'est pas un jeu de hasard. Si tu veux du hasard,
vas à Las Vegas!
Trop loin ;-)
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est
pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
Bin, tu pourrais peut être commencer par apprendre le langage?
man bash
Le problème c'est que je n'en fais pas assez pour retenir la syntaxe du
langage.
J'ai acheté le livre "Script sous Linux" de C.Blaess, mais la partie
consacrée à Bash fait plus de 200 pages, soit un peu trop pour servir de
pense bête.
Bin alors, pourquoi tu t'embête avec le shell?
Tu peux écrire tes scripts avec n'importe quel langage sur unix.
Il suffit de mettre le chemin de l'interpréteur au lieu du chemin de bash.
Par exemple, comme je travailles tout les jours avec lisp, je n'ai pas
de problème pour en retenir la syntaxe, alors j'écris:
[pjb@thalassa tmp]$ cat ./script
#!/usr/bin/clisp -ansi
(destructuring-bind (&optional num denum)
(mapcar (function read-from-string) ext:*args*)
(if (and (numberp num) (numberp denum) (not (zerop denum)))
(print (/ num denum))
(format *error-output* "~&Invalid arguments, expects two numbers, ~
the second non null.~%")))
[pjb@thalassa tmp]$ ./script
Invalid arguments, expects two numbers, the second non null.
[pjb@thalassa tmp]$ ./script 4233 32
529/4
[pjb@thalassa tmp]$
--
__Pascal Bourguignon__ http://www.informatimago.com/
Wanna go outside.
Oh, no! Help! I got outside!
Let me back inside!
Le Wed, 18 Oct 2006 05:06:32 +0200, Pascal Bourguignon a écrit:
Hugolino writes:
J'ai trouvé (par hasard) que la ligne FNumberFormated=$(echo "$FNumberNumerateur/$FNumberDenominateur" | bc -l fonctionnait. Mais je ne sais pas pourquoi, donc ce que je disais reste valable.
La programmation ce n'est pas un jeu de hasard. Si tu veux du hasard, vas à Las Vegas!
Trop loin ;-)
Mais j'aimerais bien savoir pourquoi le résultat d'une commande n'est pas le même en console et dans un script.
Marre de galérer pour mettre au point des scripts :(
Bin, tu pourrais peut être commencer par apprendre le langage?
man bash
Le problème c'est que je n'en fais pas assez pour retenir la syntaxe du langage. J'ai acheté le livre "Script sous Linux" de C.Blaess, mais la partie consacrée à Bash fait plus de 200 pages, soit un peu trop pour servir de pense bête.
Bin alors, pourquoi tu t'embête avec le shell?
Tu peux écrire tes scripts avec n'importe quel langage sur unix. Il suffit de mettre le chemin de l'interpréteur au lieu du chemin de bash.
Par exemple, comme je travailles tout les jours avec lisp, je n'ai pas de problème pour en retenir la syntaxe, alors j'écris:
[ tmp]$ cat ./script #!/usr/bin/clisp -ansi (destructuring-bind (&optional num denum) (mapcar (function read-from-string) ext:*args*) (if (and (numberp num) (numberp denum) (not (zerop denum))) (print (/ num denum)) (format *error-output* "~&Invalid arguments, expects two numbers, ~ the second non null.~%"))) [ tmp]$ ./script Invalid arguments, expects two numbers, the second non null. [ tmp]$ ./script 4233 32
529/4 [ tmp]$
-- __Pascal Bourguignon__ http://www.informatimago.com/ Wanna go outside. Oh, no! Help! I got outside! Let me back inside!