logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 27-08-2019 18:26:09

Orsam999
Membre
Distrib. : Debian 10 (Buster)
Noyau : Linux 4.19.0-5-amd64
Inscription : 16-01-2015

[Résolu] Pourcentage mémoire libre (erreur commande bc)

Bonjour à tous,

Depuis hier, je suis passé de Debian 8 (Linux 3.16) à Debian 10 (Linux 4.19) sur mon serveur et j'ai migré mes petits bash (que j'ai eu tant de mal à faire, étant débutant big_smile) d'un serveur à l'autre.

Mais j'ai un petit problème avec l'un d'eux.

La commande "bc" n'existe apparemment plus sur Linux 4.19.

Ce petit Bash me renvoyé simplement un pourcentage de la mémoire utilisée et de la mémoire libre à l'aide de la commande "free".

Voilà à quoi ça ressemble : (Pour les Pro Linux qui liront ce code : "Ne hurlez PAS !!!, je débute !!!! " big_smile )

mem_free_100=$(free | awk 'NR == 2' | awk '{print $2":"$3":"$4}')

total=$(echo $mem_free_100 | awk -F':' '{print $1}')
use=$(echo $mem_free_100 | awk -F':' '{print $2}')
free=$(echo $mem_free_100 | awk -F':' '{print $3}')

Pourcent_use=$(echo "scale=2;"$use" * 100 / "$total"" | bc -l | awk '{printf("%d\n",$1 + 0.5)}')
Pourcent_free=$(echo "scale=2;"$free" * 100 / "$total"" | bc -l | awk '{printf("%d\n",$1 + 0.5)}')

 



Avec la disparition de la commande "bc", mon pourcentage ne fonctionne plus.

Auriez-vous des suggestions ? Il y a peut-être plus simple ?

Merci à tous,

Olivier

Dernière modification par Orsam999 (28-08-2019 07:58:25)


Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#2 27-08-2019 18:32:30

naguam
Membre
Lieu : Quelque part
Distrib. : Plusieurs
Noyau : Ça dépend
(G)UI : La CLI il n'y a que ça de vrai!
Inscription : 13-06-2016

Re : [Résolu] Pourcentage mémoire libre (erreur commande bc)

D'après ce que tu écris ici, ce n'est pas une mise a niveau mais une migration sur une clean install de debian 10 sur un autre serveur que le premier (désolé de la phrase tarabiscotée)

Je suppose que le programme bc n'est pas installé sur le serveur où tu as debian 10.

apt install bc

Cette commande installe le programme qui fournis la commande bc (du même nom que le paquet) et cela devrait résoudre ton problème.

Dernière modification par naguam (27-08-2019 18:33:47)

Hors ligne

#3 28-08-2019 07:58:10

Orsam999
Membre
Distrib. : Debian 10 (Buster)
Noyau : Linux 4.19.0-5-amd64
Inscription : 16-01-2015

Re : [Résolu] Pourcentage mémoire libre (erreur commande bc)

Bonjour,

Et merci pour ta réponse.

Ca re-fonctionne parfaitement.

Merci

Celui qui ne progresse pas chaque jour, recule chaque jour.
Confucius

Hors ligne

#4 28-08-2019 12:13:17

MicP
Membre
Inscription : 29-02-2016

Re : [Résolu] Pourcentage mémoire libre (erreur commande bc)

Bonjour

Pour ton script :

tablPourCents=( $( awk 'NR==2 { printf("%.0f %.0f", ($3*100/$2), ($4*100/$2) ) }' <<< $(free) ) )
Pourcent_use=${tablPourCents[0]}
Pourcent_free=${tablPourCents[1]}
printf "Use\t: %2.0f%%\nFree\t: %2.0f%%\n" $Pourcent_use $Pourcent_free

Use     :  3%
Free    : 95%


Ou bien :

tablPourCents=( $( awk 'NR==2 { printf("%.0f %.0f", ($3*100/$2), ($4*100/$2) ) }' <<< $(free) ) )
printf "Use\t: %2.0f%%\nFree\t: %2.0f%%\n" ${tabPourCents[0]} ${tabPourCents[1]}

Use     :  3%
Free    : 95%


ou bien,
pour faire afficher directement par awk :

awk 'NR==2 { printf( "Use\t: %2.0f %\nFree\t: %2.0f %\n", ($3*100/$2), ($4*100/$2) ) }' <<< $(free)

Use     :  3 %
Free    : 95 %



NOTE : J'ai triché en modifiant l'apparence des retours de commandes sur ce forum,
car sur ce forum, dans les zones de texte dont la police est à chasse fixe,
les caractères de tabulation sont remplacés par 2 caractères espace,
alors qu'en "vrai" (<=> dans une fenêtre de terminal) les caractères de tabulation sont remplacés par 4 caractères espace.

Dernière modification par MicP (28-08-2019 17:09:28)

Hors ligne

Pied de page des forums