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. 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
  2. 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. 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. salut,

        t'es sûr que ta version de ksh supporte les tableaux ?
        vérifie dans le man.
        1. 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. 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 ;-(