Bonsoir, je suis débutant en programmation shell. J'ai deux fonctions. L'un affiche un message quand le disque est plein et l'autre affiche l'espace occupé par les processus en mémoire en Mo.

1ère fonction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function checkSpaceDisk()
 
{
#Extraction du nom des disques installés
for DISK in $(df -x tmpfs  -x devtmpfs |grep dev |awk -F ‘’ ‘’ ‘{ print $1}|cut -d/ -f 3)
 
Do
   #Espace disque utilisé
   espaceUtilise=$(df |grep grep -w « $DISM » |awk -F '' ''{ print $5})
 
   #Espace disque total. Valeur retournée à la caractère G à la fin donc j'extrais les chiffres
   espaceTotal=$(df -x tmpfs  -x devtmpfs |grep dev |awk -F '' ''{ print $2}) |grep '-o [[:digit:]])')
 if [[ '' $espaceUtilise '' -eq  '' espaceTotal '' ]]; then
    Echo « Le disque $DISK est plein »
 
Fi
 
done
 
}
Message d'erreur

512 : nombre entier attendu comme expression


La fonction 2
A pour objectif d'extraire la quantité de mémoire occupée et à l'affiché en méga octet.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
function checkSpaceDisk()
{
   #Récupération de la mémoire totale
   totalMemoire=sudo cat /proc/meminfo |grep MemTotal
   #Liste de tous les processus avec tri
   listeProcessus=ps -eo pid, %mem --sort=-%mem
   #à partir de là, je n'avance plus. L'objectif c'est de parcourir la liste des processus et la quantité
   #extrait ces deux colonnes, convertir la quantité % en méga Octet avec l'opération
   #taille="$processusEnCours" * "$totalMemoire
}