OVH Cloud OVH Cloud

[bash] probleme de substitution

13 réponses
Avatar
George Abitbol
Bonjour,

je voudrais faire un truc du genre

for i in "1 2 3 4 5 6" ;
do
echo ${$i} # <-- ici ca va pas
done

bref dans un for je veux pouvoir travailler avec les parametres de ma
commande en bouclant sur leur place. Le probleme c'est que j'arrive pas
a faire un truc correct, je me prends des erreurs de substitution.

Est-ce que quelqu'un saurait comment je dois m'y prendre ?

pour info :
$ bash --version
GNU bash, version 3.1.17(9)-release (i686-pc-cygwin)
Copyright (C) 2005 Free Software Foundation, Inc.

Merci d'avance

3 réponses

1 2
Avatar
Sébastien Monbrun aka TiChou
Dans le message
<news:,
*George Abitbol* tapota sur f.c.o.l.configuration :

#!/bin/sh
for i in $@ ;


Un peu HS, le truc c'est que je veux pouvoir acceder à mes parametres
via leur indice dans le tebleau $@, d'où la boucle entre 1 et $#


ARGV=("$@")

for ((i=0;i<$#;i++))
do
printf "Argument n°%s : %sn" "$i" "${ARGV[$i]}"
done

--
Sébastien Monbrun aka TiChou


Avatar
Nicolas George
Sébastien Monbrun aka TiChou wrote in message
:
ARGV=("$@")


sh: Syntax error: "(" unexpected

Avatar
Sébastien Monbrun aka TiChou
Dans le message <news:4582ab43$0$2134$,
*Nicolas George* tapota sur f.c.o.l.configuration :

ARGV=("$@")


sh: Syntax error: "(" unexpected


J'avais vu au début du fil l'en-tête #!/bin/bash, qui est devenu par la
suite #!/bin/sh, mais j'en étais resté à bash (3).

--
Sébastien Monbrun aka TiChou


1 2