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