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 :

Script et variables $@


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Par défaut Script et variables $@
    Bonjour,

    Je suis entrain de créer un script mais je me confronte à un petit problème:
    Au lancement de mon script je fais appel à plusieurs arguments stockés dans $@.
    L'utilisateur doit faire un choix par le biais de la fonction "read".
    Le choix est récupéré dans une variable "$Num" (1, 2, 3... : valeurs numériques correspondantes aux arguments).

    A présent je souhaiterais faire un truc du genre:
    $($Num) pour obtenir $1 si l'utilisateur à rentré la valeur 1.

    Est-il possible de faire un truc dans le genre?

    Merci à vous!

  2. #2
    Membre très actif
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Par défaut
    Youpi!

    J'ai trouvé:

    ${!Num}



    (So proud ! )

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 635
    Par défaut
    Bonjour,

    en bash, ça s'appelle une indirection (cf. man bash / Remplacement des paramètres , 3° paragraphe) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $ maFonction() { echo "choix : "; printf '%s\n' "$@"; read ch; echo ${!ch};}
    $ maFonction 321 654 987
    choix : 
    321
    654
    987
    2
    654
    j'utilise une fonction pour simuler un script, elle n'est pas utile sinon.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Membre très actif
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Par défaut
    Ha ba Merci N_BaH

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script Batch : Variable d'environnement dans un fichier "ordinaire"
    Par falcon dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 06/05/2008, 15h54
  2. [SHELL] Probleme script "portée variable"
    Par bidon dans le forum Solaris
    Réponses: 2
    Dernier message: 22/03/2008, 17h43
  3. [script bash] variables non affichées
    Par persam dans le forum Administration système
    Réponses: 4
    Dernier message: 08/01/2008, 18h21
  4. [Script Batch] variable definitive
    Par vikingraver dans le forum Windows XP
    Réponses: 3
    Dernier message: 05/12/2007, 14h33
  5. script JS & variable globale
    Par MANU_2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/09/2005, 08h27

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