IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Variable commune à plusieurs scripts


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Décembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Décembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Variable commune à plusieurs scripts
    bonjour

    je suis un ptit nouveau!!!! j'essaye d'apprendre à programmer sur internet je n'est pas de diplômes dans ce milieu mais j'ai déjà manipulé le python, le C++ sur arduino et je vient de me mettre au script shell.

    je ne comprend pas comment je peut faire tournée plusieurs boucles while simultanément et qui agissent séparément mais sur les mêmes variables. J'ai essayé en séparant toutes mes boucles dans des scripts différent et puis en démarrant tout ces scripts depuis un seul fichier avec l'intérieur de ce script la définition des variables ainsi que leurs exports. J'ai aussi des sous sous script. Comment faire je n'est pas vraiment trouvé de solutions et surtout je ne sais pas comment m'y prendre.

    @ plus

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    tout dépand du besoin et donc de "où" tu déclare ta variable.

    tu peux imbriquer des do...while
    tu peux parelelliser des do...while
    tu peux passer des pipes només des données générées par un procédure do...while et lue par une autre boucle....
    etc...
    etc...
    etc...


    bref comme dans tout autre langage y'a plien de facon de faire la meme chose mais pas forcément optimisé ...

    il faut distinguer les variables d’environnement des variables du scripts et enfin des locales...

    bref impossible de répondre à ta question sous sa forme actuelle.

    donnes à minima un bout de code et un bout d'algo....

    genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while read ; do  traiter $REPLY ; do < /tmp/fichier_source
    sert à lire un fichier ligne à ligne pour les traiter unitairement une par une..

  3. #3
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Bonjour

    C'est un langage de script. Pas un langage de programmation. Si tu t'imagines manipuler des pointeurs sur des structures en mémoire, tu vas être déçu.
    Le but est de faire de façon simple et efficace des choses simples. Généralement, de la manipulation de fichiers.

    Pour tes scripts, ils partent avec leur environnement propre et n'échangent pas de variables. A moins de concevoir un sémaphore, un réseau de communication entre processus.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Décembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Décembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    salut et merci;

    Et sur des post j'ai vue parler fifo, export, tube, ifs, variable d'environnement. est ce que vous pouvez démystifier tout ça ou me donner d’éventuel lien pour ce documenter??

    @+

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Citation Envoyé par benoit6868 Voir le message
    faire tournée plusieurs boucles while simultanément et qui agissent séparément mais sur les mêmes variables.
    eh ben, ça va être un beau bordel à l'arrivée !

    un petit problème d'algorithme, peut-être, non ?

    de toue façon, tant qu'on ne sait pas quel est le but final...
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    de toue façon, tant qu'on ne sait pas quel est le but final...
    +1

  7. #7
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    fifo, export, tube, ifs, variable d'environnement.
    Une conduite est une suite de commandes dont le résultat de l'une est le fichier donné en entrée de l'autre commande.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "toto" | sed 's/.*/3 &\n1 &\n2 &/' | sort -n -k1,1 | cut -d' ' -f2- | uniq -c 
          3 toto
    La barre verticale est appelée "tube" en anglais "pipe", et n'a pas de nom propre.
    "Fifo" est un tube nommé. Cela permet de rediriger d'une commande vers une autre comme si c'était une conduite.
    Exemple de tube nommé "toto":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    mkfifo toto
    echo "tata" >toto &
    sed 's/.*/3 &\n1 &\n2 &/' <toto
    rm -rf toto
    La commande export met à disposition une variable pour les processus fils à leur démarrage. Mais une fois que le script est démarré, la variable vit sa vie dans chacun des processus. Pas de communication.

    Quand à IFS, c'est le séparateur (généralement le caractère espace). Aucun rapport avec la question initiale.

    Les variables d'environnement sont les variables recopiées et disponibles lors de la création du processus.
    Pour les connaître:
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par benoit6868 Voir le message
    Et sur des post j'ai vue parler fifo, export, tube, ifs, variable d'environnement. est ce que vous pouvez démystifier tout ça ou me donner d’éventuel lien pour ce documenter??
    Oui. C'est bien beau, tout ça! Mais tu veux faire quoi au juste?

    Pourrais-tu au minimum nous montrer quelque chose qui ne marche pas?

Discussions similaires

  1. variables communes à plusieurs thread
    Par Z-fly dans le forum C
    Réponses: 10
    Dernier message: 10/09/2008, 08h59
  2. Variable Globale - Plusieurs scripts
    Par Ridculle dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/03/2008, 10h51
  3. variable commune à plusieurs pages en JSP
    Par soumou dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 03/09/2006, 23h50
  4. Réponses: 5
    Dernier message: 20/09/2005, 22h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo