Bonjour,
je galère un peu avec une fonction…
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin
#Color
ROUGE="\033[1;31m"
VERT="\033[1;32m"
NORMAL="\033[0;39m"
function srcds_stats() {
clear
NBPROC="$(cat /proc/cpuinfo | grep processor | wc -l)"
LOADG1=`cat /proc/loadavg | awk '{print $1}' RS=" " | awk '{print $1}' RS=""`
LOADG5=`cat /proc/loadavg | awk '{print $1}' RS=" " | awk '{print $2}' RS=""`
LOADG15=`cat /proc/loadavg | awk '{print $1}' RS=" " | awk '{print $3}' RS=""`
AVGRT=$(if [ "$(echo "$LOADG1 >= $max_loadavg"|bc)" -eq 1 ]; then echo -e "${RED}WARNING: ${LOADG1}${NORMAL}";else echo -e "${GREEN}${LOADG1}${NORMAL}";fi)
AVGRT5=$(if [ "$(echo "$LOADG5 >= $max_loadavg"|bc)" -eq 1 ]; then echo -e "${RED}WARNING: ${LOADG5}${NORMAL}";else echo -e "${GREEN}${LOADG5}${NORMAL}";fi)
AVGRT15=$(if [ "$(echo "$LOADG15 >= $max_loadavg"|bc)" -eq 1 ]; then echo -e "${RED}WARNING: ${LOADG15}${NORMAL}";else echo -e "${GREEN}${LOADG15}${NORMAL}";fi)
echo -e " Load AVG: ${AVGRT} ${AVGRT5} ${AVGRT15}"
}
function check_loadavg() {
if [ "$NBPROC" -eq "1" ];then
max_loadavg="$NBPROC"
elif [ "$NBPROC" -eq "2" ];then
max_loadavg="$NBPROC"
elif [ "$NBPROC" -eq "4" ];then
max_loadavg="$NBPROC"
elif [ "$NBPROC" -eq "8" ];then
max_loadavg="$NBPROC"
elif [ "$NBPROC" -gt "8" ];then
max_loadavg="$NBPROC"
fi
}
L’erreur est dans les lignes AVGRT=
Le plus étrange, si j’exécute dans un terminal les fonctions, aucune erreur
C’est l’intégration du if dans la variable qui doit foirer et là j’avoue que je ne sais pas comment l’intégrer autrement…
Merci pour votre aide.
Cordialement,