Comment lire une donnée dans un shell

salut je souhaiterais savoir comment on peut lire une donnée qu'on a introduite dans un shell:

echo"entrez votre phrase"

//une fontion qui lit la variable que j'ai entré
......

echo "vous avez entré la donnée ...."

merci de me dépanner si vous avez une idée
A+

5 réponses

  1. Pas facile à retrouver dans une notice Unix, n'est-il pas ?

    ---> $<
    0
    1. Contributeur
      read <var>

      tafiscobar "lou waye def bopame"
      la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
      0
      1. salut

        alors le programme serait de type:

        $donnée="";
        echo"entre la donnée";

        //j'entre la donnée

        read $donnée //la nouvelle donnée

        ???????????

        merci
        0
    2. Salut à tous!

      En fait, pour aller un peu plus loin que jakol, j'aimerais pouvoir rentrer les données réclamées par un programme directement depuis la ligne de commande.
      Pour être plus clair, imaginez qu'un script shell, à un moment, vous demande votre nom et votre nom. Comment puis-je entrer directement mon nom et mon prénom depuis la ligne de commande sans à avoir à le faire lorsque le programme le demandera.

      Merci par avance,
      Mickaël
      0
      1. Modérateur
        Sous bash, inspire-toi de ceci
        johand@horus:~/src/bash$ cat getdata.sh
        #! /bin/sh
        read  -p "your name: " name
        read  -p "your weight in kg :" weight
        printf "Hello %s , you are weighting %d, too much any way\n" $name $weight
        
        johand@horus:~/src/bash$ echo jakol 110 | ./getdata.sh
        Hello jakol , you are weighting 110, too much any way
        

        En somme, renseigne-toi sur les pipes, stdin, stdout et consorts.

        man bash; help read; help printf

        Johan

        Gates gave you the windows.
        GNU gave us the whole house.(Alexandrin)
        0
        1. Merci pour tout! Ca marche à merveille, et même sous d'autres environnements que celui du bash.
          :)

          Mickaël
          0