Script + variable globale

khlif1986 Messages postés 59 Statut Membre -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
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. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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. khlif1986 Messages postés 59 Statut Membre
       
      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. khlif1986 Messages postés 59 Statut Membre
       
      Saviez vous comment je peux exporter à tout instant une valeur d'une boucle while infinie
      0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    dans un fichier : echo $nbre > /tmp/nbre
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut,

      en fait il a besoin de $nbre pour l'utiliser dans une règle iptables
      je l'ai conseillé de mettre la règle iptables directement dans le script, donc pas besoin d'une exportation

      http://www.commentcamarche.net/forum/affich 5794050 compilation un fichier c#24

      bonne journée ;-)
      0