Remplir un tableau

Résolu
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. Contributeur
    Salut,

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

    1. 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
    2. Contributeur
      Tu veux de l'aide ou pas ?

      On n'est pas devin ;-(
  2. 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).

    1. salut,

      t'es sûr que ta version de ksh supporte les tableaux ?
      vérifie dans le man.
      1. 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
        1. Contributeur
          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
          1. 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 #
            
            1. Contributeur
              ./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 ?
            2. 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 #
            3. Contributeur
              Raffiche le avec cat -A s'il te plaît, merci :

              cat -A users.dat 
            4. 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 #
              
            5. Contributeur
              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