Re: bash et tableau

Top Page

Reply to this message
Author: jeanluc
Date:  
To: guilde
Subject: Re: bash et tableau
Le Mardi 20 Juillet 2004 16:31, anne aublanc a écrit :
> bonjour,


>
> si vous connaissez une doc simple avec exemple pour m'expliquer cela...


dans man bash, il y a des explications qui commencent au
paragraphe "Remplacement des paramètres".



>
> J'ai ces lignes dans le bash...
>
> value="${value:8:${#value}}"


$value="abcdefghijklmn"     # chaine de longueur 14
value="${value:8:${#value}}"
    correspond au cas ${paramètre:début:longueur}
    ${#value}= la longueur de la chaine $value
               (exemple 14 pour "abcdefghijklmn" )
    donc la ligne est la meme chose que :
    value="${value:8:14}"
et ca veut dire : prendre la chaine entre la position
8 et la position 14: le resultat est "ijklmn"
Ce qui embrouille, c'est que ce resultat est retourne
dans la variable value (donc, dans elle-meme si on peut dire)



> tag="${value%:*}"
> item="${value#*: }"


en regardant vite fait, je ne vois pas. peut-etre est-ce special
pour les tableaux effectivement. C'est quand un niveau assez
avance en bash.

Le seul truc que je connais avec % et # c'est ca :
    value="image.jpg"
    echo $value
    sansExtension="${value%.jpg}"   # si fini par ".jpg", alors enleve ".jpg"
    echo $sansExtension             # ==> "image"


    value="a_image.jpg"
    echo $value
    sansDebut="${value#a_}"     # si commence par "a_" alors enleve "a_"
    echo $sansDebut             # ==> "image.jpg"




>
> On m'a prêté Learning the bash... Je ne trouve pas grand-chose sur les
> arrays... enfin pas assez d' exemples...
> pour comprendre le 8 da la 1ère ligne par exemple!
>
> anne