Shell unix

Résolu
spider10 Messages postés 19 Date d'inscription   Statut Membre -  
spider10 Messages postés 19 Date d'inscription   Statut Membre -
Bonjour,
je réalise un script shell qui fait appelle un autre script sh ce dernier comporte des variables saisi par l'utilisateur.ces variables seront réutiliser plus loin.
ainsi je demande comment affiche ce que je saisi a l'ecran dans le script toto.sh puis l'utilise ce variable dans un autre script
voila mon script toto.sh
echo 'saisir le chemin'
read $copi
echo 'saisir le répertoire du client'
read $client

merci
Configuration: Windows XP
Firefox 2.0.0.14

2 réponses

  1. HostOfSeraphim Messages postés 7340 Statut Contributeur 1 609
     
    Bonjour,

    Voilà en gros ce que tu souhaites faire, si j'ai bien tout compris :

    toto.sh :

    #!/bin/bash
    echo -n "Chemin : "
    read chemin
    echo -n "Répertoire : "
    read repertoire
    echo "Chemin indiqué : $chemin"
    echo "Répertoire indiqué : $repertoire"
    ./autrescript.sh $chemin $repertoire


    autrescript.sh :

    #!/bin/bash
    echo "Premier paramètre passé : $1"
    echo "Second paramètre passé : $2"


    Résultat :

    $ ./toto.sh
    Chemin : blabla
    Répertoire : bleble
    Chemin indiqué : blabla
    Répertoire indiqué : bleble
    Premier paramètre passé : blabla
    Second paramètre passé : bleble


    Pour info, le "echo -n" te permet de saisir la valeur directement à la suite du champ, au lieu d'avoir un retour à la ligne.

    Au fait, ta question était plus adaptée au forum Linux qu'au forum Réseaux.

    0
    1. spider10 Messages postés 19 Date d'inscription   Statut Membre 2
       
      slt,
      le pb est resolu une partie mais le pb d'appel des variables d'un autre script shell (toto.sh) subsiste
      script toto.sh
      #!/bin/bash
      echo -n "Chemin : "
      read chemin
      echo -n "Répertoire : "
      read repertoire
      echo "Chemin indiqué : $chemin"
      echo "Répertoire indiqué : $repertoire"

      le test.sh fait appel toto.sh
      #le chemin se trouve le script toto.sh
      cd /home/stage/essai
      sh /home/stage/essai/toto.sh

      echo "Chemin utilise est : $chemin"

      mais je n'obtient aucun valeur dont $chemin
      echo "Chemin utilise est : $chemin "
      0
      1. HostOfSeraphim Messages postés 7340 Statut Contributeur 1 609 > spider10 Messages postés 19 Date d'inscription   Statut Membre
         
        Heu... je ne comprends plus très bien ce que tu désires faire.

        Quel est le contenu de test.sh ?
        Quel est le contenu de toto.sh ?

        0
      2. spider10 Messages postés 19 Date d'inscription   Statut Membre 2 > HostOfSeraphim Messages postés 7340 Statut Contributeur
         
        slt,
        on gros je souhaite utilise les variables toto.sh dans le script test.sh
        0
  2. spider10 Messages postés 19 Date d'inscription   Statut Membre 2
     
    le script toto.sh contient:
    #!/bin/bash
    echo -n "Chemin : "
    read chemin
    echo -n "Répertoire : "
    read repertoire
    echo "Chemin indiqué : $chemin"
    echo "Répertoire indiqué : $repertoire"
    et je souhaite utilise dans un autre script(test.sh) les variables toto.sh
    0
    1. HostOfSeraphim Messages postés 7340 Statut Contributeur 1 609
       
      Et bien dans toto.sh tu fais un appel vers test.sh avec en paramètres les valeurs que tu désires transmettre, mais c'est ce que je t'ai mis dans l'exemple donc je suppose que je comprends mal...

      0
      1. spider10 Messages postés 19 Date d'inscription   Statut Membre 2 > HostOfSeraphim Messages postés 7340 Statut Contributeur
         
        ok je suivit a la lettre ce que tu m'as dit de faire dis-moi je le pense
        ainsi script toto.sh
        #!/bin/bash
        echo -n "Chemin : "
        read chemin
        echo -n "Répertoire : "
        read repertoire
        echo "Chemin indiqué : $chemin"
        echo "Répertoire indiqué : $repertoire"
        #puis le script test.sh quej'utilise la var $chemin
        cd /home/stage/essai
        sh /home/stage/essai/test.sh $chemin

        et dans script test.sh
        #je fais appel le script toto.sh
        cd /home/stage/essai
        sh /home/stage/essai/toto.sh

        echo "mon chemin: $chemin"
        quand j'excute test.sh il me demande de saisir le chemin et repertoire puis il me redemande jusqu'a j'intervient personnellement ctrl-c
        0