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

Linux Discussion :

découpage variable en sous variable ->SHELL


Sujet :

Linux

  1. #21
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 984
    Points
    30 984
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nicolas.pailheret Voir le message
    Pourquoi veut-il bien faire
    then PAR2=AHAH

    mais pas
    then PAR$i=AHAH
    Parce que le shell (langage très simpliste) n'est pas cablé pour piger ça.
    T'as le droit d'écrire PAR2=machin mais t'as pas le droit d'écrire PAR$i=machin. Faut de nouvau passer par eval => voir message de N_Bah

    En fait, en bon habitué du C que tu es, ce que tu cherches à faire est de recréer la notion de pointeur...

    Citation Envoyé par N_BaH Voir le message
    Bizarre... ça ne veut pas fonctionner avec les quotes inverses?
    Avec les quottes inverses faut doubler le backslash car il y a un niveau de plus d'interprétation...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PAR1=Hello
    i=1
    test "`eval echo \\$PAR$i`" = "Hello" && echo ok
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  2. #22
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 30
    Points : 14
    Points
    14
    Par défaut RESOLU
    Yep merki les amis!

    N_BaH : ta méthode marche nickel,

    Sve@r : j'ai finalement été me documenter sur les tableaux en shell, et m'en suis sorti!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    for i in $* 
    do
      export $i
    done
     
    for i in $(seq 38)
      do
        tab[$i]="$(eval echo "\$PROGPAR$i")"
        if [ ${tab[$i]} = "RIEN" ]
          then tab[$i]=\'\"\"\'
        fi
        eval PROGPAR${i}="${tab[$i]}"
      done
    ça permet même de remplacer un PROGPARi (s'il vaut "RIEN", si je puis dire) par le codage ' " " ' qui permet de lancer un traitement Oracle dont certains paramètres, optionnels, s'ils ne sont pas renseignés, doivent être codés ' " " ' (sous peinde foirer son traitement)

    Eh oui, formé en C, en JAVA & électronique, mais je gère des bases de données Oracle en shell en fait,
    vive la crise!

    Merci à vous tous! -> considèrons ce message comme résolu!
    (euh comment kon fait?)

    Bon week-end à tous!

  3. #23
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 984
    Points
    30 984
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nicolas.pailheret Voir le message
    Yep merki les amis!

    N_BaH : ta méthode marche nickel,

    Sve@r : j'ai finalement été me documenter sur les tableaux en shell, et m'en suis sorti!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    for i in $* 
    do
      export $i
    done
     
    for i in $(seq 38)
      do
        tab[$i]="$(eval echo "\$PROGPAR$i")"
        if [ ${tab[$i]} = "RIEN" ]
          then tab[$i]=\'\"\"\'
        fi
        eval PROGPAR${i}="${tab[$i]}"
      done
    ça permet même de remplacer un PROGPARi (s'il vaut "RIEN", si je puis dire) par le codage ' " " ' qui permet de lancer un traitement Oracle dont certains paramètres, optionnels, s'ils ne sont pas renseignés, doivent être codés ' " " ' (sous peinde foirer son traitement)

    Eh oui, formé en C, en JAVA & électronique, mais je gère des bases de données Oracle en shell en fait,
    vive la crise!

    Merci à vous tous! -> considèrons ce message comme résolu!
    (euh comment kon fait?)

    Bon week-end à tous!

    Mouaip. Pour éviter ce test sur "RIEN" tu peux utiliser le ${var:-xxx} => si $var est vide ou inexistant, l'expression renvoie "xxx" (à toi de mettre ce que tu veux à la place) sinon ça renvoie "$var"

    Sinon la boucle d'export reste quand-même inutile...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Portée des variables et sous-shell
    Par hacksi dans le forum Linux
    Réponses: 4
    Dernier message: 30/04/2009, 19h55
  2. Variable contient sous chaine
    Par Carlito_superheros dans le forum Linux
    Réponses: 5
    Dernier message: 14/02/2006, 19h09
  3. Réponses: 10
    Dernier message: 27/01/2006, 09h43
  4. Problème de variable (integer?) sous ASP
    Par cooldidi dans le forum ASP
    Réponses: 3
    Dernier message: 13/12/2005, 21h43
  5. Changer el type d'une variable sql sous postgre8/admin
    Par smag dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 24/08/2005, 12h31

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