Remplir un tableau

Résolu
lefreeman63 Messages postés 139 Statut Membre -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai un peu de mal a comprendre ce qui cloche la je dois avouer...
j'ai un fichier avec des informations dedans:

user.dat contenant
test1 
test2 
test3 
test4


je cherche a lire ce fichier et à insérer les champs dans un tableaux...

Voici mon code:

listUsers='cat $1' 

tabuser=( ${listUsers} ) 
echo ${tabuser[0]} 

et j'ai sa comme erreur...

./delete_users.sh[5]: syntax error at line 7 : '(' unexpected


je ne comprend pas ce qui ne va pas mais bon si quelqu'un a une idée je suis preneur merci d'avance

je suis sous ksh et sous hp-os.

6 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Sans voir le script dans sa totalité difficile de se faire une idée ;-(

    0
    1. lefreeman63 Messages postés 139 Statut Membre
       
      je viens juste de commencé mon script et c'est ma premiere étape
      j'appel juste un fichier à l'execution de mon script que j'essai de rajouté dans un tableaux et par la suite quant j'aurais fait sa je bouclerai pour utiliser chacune de mes case mais bon pour l'instant j'arrive meme pas a l'ajouter dans un tableaux donc mon script fais pas vraiment beaucoup de ligne
      0
    2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Tu veux de l'aide ou pas ?

      On n'est pas devin ;-(
      0
  2. laoshu Messages postés 1251 Statut Membre 351
     
    Bonjour,

    pour la ligne
    listUsers='cat $1'

    Tu utilises des apostrophes (premier niveau du 4) ou bien des accents graves (troisième niveau du 7) ?

    En utilisant des accents graves (backquotes) chea moi ton script marche (en utilisant bash).

    0
  3. Utilisateur anonyme
     
    salut,

    t'es sûr que ta version de ksh supporte les tableaux ?
    vérifie dans le man.
    0
  4. lefreeman63 Messages postés 139 Statut Membre
     
    j'utilise le backquotes (touche 7) et je n'ai pas la possibilité d'etre sous BASH a mon grand regret... es ce qu'il existerai une autre solution a mon problème?
    et je ne sais pas trouvé si ma version de ksh supportais les tableaux... dsl
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Chez moi ça marche avec ksh (ksh93).

    Je suis sûr qu'il y a une m*rde dans ton code ;-(

    Tu ne veux pas l'afficher ?

    $ cat foo.ksh
    #! /bin/ksh93
    
    listUsers='cat $1'
    
    tabuser=( ${listUsers} )
    echo ${tabuser[0]}
    
    $ cat brol
    test1
    test2
    test3
    test4
    
    $ ./foo.ksh brol
    test1
    0
  7. lefreeman63 Messages postés 139 Statut Membre
     
    voila exactement:

    root@miahp052:/Softs/OutputServer/version/custom/admin # cat delete_users.sh
    #!/bin/ksh
    
    
    listUsers='cat $1'
    tabuser=( ${listUsers} )
    echo ${tabuser[2]}
    
    for domain in fr ft as es
    do
            DOMAIN="miadz${domain}1"
            su - $DOMAIN -c "mw -r princ-view -x\"-princ-name testVince -user admin -password secret\" 2>&1 > /dev/null" 2>&1 > /dev/null
            if [ $? -eq 0 ]
            then
                    echo "je viens de trouver testVince"
            fi
    done
    
    root@miahp052:/Softs/OutputServer/version/custom/admin # ./delete_users.sh users.dat
    ./delete_users.sh[4]: syntax error at line 5 : '(' unexpected
    root@miahp052:/Softs/OutputServer/version/custom/admin #
    
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      ./delete_users.sh[4]: syntax error at line 5 : '(' unexpected
      A quoi ressemble le contenu de ton fichier users.dat ?

      L'erreur laisse à penser qu'il manque une parenthèse ;-\
      J'en déduirai qu'il y a peut être un caractère qui le perturbe ;-\

      D'où vient ce fichier ? C'est un fichier Unix ?
      0
    2. lefreeman63 Messages postés 139 Statut Membre
       
      non c'est fichier que je crée a la main et ou il y aura des identifiants :
      root@miahp052:/Softs/OutputServer/version/custom/admin # cat users.dat
      
      vince
      testVince
      retest
      root@miahp052:/Softs/OutputServer/version/custom/admin #
      0
    3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Raffiche le avec cat -A s'il te plaît, merci :

      cat -A users.dat 
      0
    4. lefreeman63 Messages postés 139 Statut Membre
       
      Désolé sa a pas marcher

      root@miahp052:/Softs/OutputServer/version/custom/admin # cat -A users.dat
      cat: illegal option -- A
      Usage: cat [-benrstuv] [-|File ...]
      root@miahp052:/Softs/OutputServer/version/custom/admin #
      
      0
    5. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Rhaaaaa ;-((

      Et avec (c'est un ELLE minuscule) :

      sed -n l users.dat 


      Et tant qu'à faire sur le script aussi :

      sed -n l delete_users.sh
      0