Problème dans script bash...
Fermé
Eric
-
18 nov. 2006 à 22:04
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 19 nov. 2006 à 10:28
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 19 nov. 2006 à 10:28
A voir également:
- Problème dans script bash...
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Bash écrire dans un fichier - Forum Shell
- Script bat - Guide
- Microsoft activation script - Accueil - Windows
3 réponses
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
19 nov. 2006 à 05:55
19 nov. 2006 à 05:55
printf existe en commande interne dans bash
help printf; man bash; man 3 printf
Attention aux locales...
Johan
[johand@horus]~ $T=18,25; printf "Il fait %3.1f °C\n" $T Il fait 18,2 °C [johand@horus]~ $T=18.25; printf "Il fait %3.1f °C\n" $T -bash: printf: 18.25: invalid number Il fait 0,0 °C [johand@horus]~ $LANG=C; T=18.25; printf "Il fait %3.1f °C\n" $T Il fait 18.2 °C
help printf; man bash; man 3 printf
Attention aux locales...
Johan
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
19 nov. 2006 à 09:50
19 nov. 2006 à 09:50
Salut,
Tu peux aussi essayer avec ça :
Pour ta comparaison, il te faudra arrondir ta valeur à l'entier inférieur avant toute chose...
;-))
Tu peux aussi essayer avec ça :
[jp@MDK ~]$ T=21.12 ; T2=$(expr "$T" : "\(.*\..\)"); echo "Il fait $T2° C" Il fait 21.1° C [jp@MDK ~]$En ce qui concerne ton autre problème :
if [ $T -gt 21 ]; then echo "Il fait $T" fiLa comparaison échoue car "bash" ne sait traiter que des chaînes de caractères ou des entiers, mais pas des valeurs avec virgules.
Pour ta comparaison, il te faudra arrondir ta valeur à l'entier inférieur avant toute chose...
;-))
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
19 nov. 2006 à 10:22
19 nov. 2006 à 10:22
Salut à vous,
Eric il te faudra arrondir ta valeur à l'entier inférieur avant toute chose...
Eric il te faudra arrondir ta valeur à l'entier inférieur avant toute chose...
T=20.12 TARRONDI=$(echo "scale=0;$T/1" | bc)lami20j
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
19 nov. 2006 à 10:28
19 nov. 2006 à 10:28
L'oignon fait la force ;-)))