Script + variable globale

Bonjour,
Voici le script suivant essai.sh
#!/bin/bash
while true; do
total=`echo $(grep MemTotal: /proc/meminfo) | cut -d' ' -f2`
libre=`echo $(grep MemFree: /proc/meminfo) | cut -d' ' -f2`
conn=`echo "$total/16384" | bc | cut -d "." -f2`
nbre=`echo "$libre/$conn" | bc | cut -d "." -f2`
echo "Memoire totale : $total Ko"
echo "Memoire libre : $libre Ko"
echo "nombre connection possible est : $nbre"
sleep 5
export nbre
bash
done;

Mon objectif est de laisser ce script s'executer dès le démarrage de linux et de pouvoir accéder à la variable nbre depuis la console pour l'utiliser afin de définir une règle iptables mais le problème c'est que la boucle s'effectue une seule fois et l'exécution du script s'arrete. Est ce qu'ilya une solution ?
Configuration: Linux
Firefox 2.0.0.3

2 réponses

  1. Modérateur
    Salut,

    en fait la boucle ne s'arrête pas
    mais comme tu lances un shell depuis ton script, dans le fils tu ne vois pas boucle
    si tu fais un exit tu verras qu'elle tourne
    lami20j@debian:~$ sh meminfo.sh
    Memoire totale : 516664 Ko
    Memoire libre : 18144 Ko
    nombre connection possible est : 585
    lami20j@debian:~$ exit
    exit
    Memoire totale : 516664 Ko
    Memoire libre : 17804 Ko
    nombre connection possible est : 574
    lami20j@debian:~$ exit
    exit
    Memoire totale : 516664 Ko
    Memoire libre : 17780 Ko
    nombre connection possible est : 573
    lami20j@debian:~$ exit
    exit
    Memoire totale : 516664 Ko
    Memoire libre : 15872 Ko
    nombre connection possible est : 512
    lami20j@debian:~$
    
    donc tu vois bien qu'après un exit, je retourne dans le shell père et la boucle continue

    et voici le résultat en enlévant la commande bash

    lami20j@debian:~$ sh meminfo.sh
    Memoire totale : 516664 Ko
    Memoire libre : 18788 Ko
    nombre connection possible est : 606
    Memoire totale : 516664 Ko
    Memoire libre : 18656 Ko
    nombre connection possible est : 601
    Memoire totale : 516664 Ko
    Memoire libre : 18680 Ko
    nombre connection possible est : 602
    Memoire totale : 516664 Ko
    Memoire libre : 17988 Ko
    nombre connection possible est : 580
    Memoire totale : 516664 Ko
    Memoire libre : 18400 Ko
    nombre connection possible est : 593
    Memoire totale : 516664 Ko
    Memoire libre : 18416 Ko
    nombre connection possible est : 594
    Memoire totale : 516664 Ko
    Memoire libre : 18432 Ko
    nombre connection possible est : 594
    Memoire totale : 516664 Ko
    Memoire libre : 18432 Ko
    nombre connection possible est : 594
    Memoire totale : 516664 Ko
    Memoire libre : 18136 Ko
    nombre connection possible est : 585
    Memoire totale : 516664 Ko
    Memoire libre : 18144 Ko
    nombre connection possible est : 585
    
    0
    1. Bon j'ai suivi le meme résonnément que vous avant mais le problème c'est que je ne peux pas récupérer la valeur de nbre en tapant $nbre sur la console.
      Le but du script est d'utiliser $nbre qui varie au cours du temps pour définir une rèdle de limitation de l'attaque synflood
      0
    2. Saviez vous comment je peux exporter à tout instant une valeur d'une boucle while infinie
      0