Le Mardi 8 Juin 2004 10:45, christophe fixot a écrit :
> PS si je me rappelle bien, tu peux quoter plusieurs fois ;-)
puisqu'on parle de bash, j'en profite parce que je crois
que ce qui va suivre n'est pas compatible sh. Mais la question,
c'etait bash.
Il est possible d'utiliser $(cmd) au lieu de `cmd`
Alors voici un exemple :
prompt> echo $ext
png
prompt> ls -a *.$ext
capture1.png capture2.png capture3.png capture4.png filesize.png
prompt> ls -a *.$ext |wc -l
5
prompt> expr $(ls -a *.$ext |wc -l) + 1
6
prompt> for i in $(seq 1 $(expr $(ls -a *."$ext" |wc -l) + 1 ) )
> do
> echo $i
> done
1
2
3
4
5
6
prompt>
En exercice, je te laisse ecrire la meme chose avec des ` .... bon courage.
Bonjour les \` et les \\` "en veux-tu en-voila".
J'ai ecrit volontairement ls -a *."$ext" au lieu de ls -a *.$ext
Ca change rien dans ce cas. Ca brouille les cartes.
Par contre ,
prompt> ext="htm"
prompt> for i in $(seq 1 $(expr $(ls -a *."$ext"l |wc -l) + 1 ) ); do echo $i; done
"$ext"l vaut html
$extl : extl est une variable non-defini.
Jean-Luc.