[shell] Substitution variables

Fermé
Sylvain R. - 12 juil. 2007 à 10:52
dubcek Messages postés 18769 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 30 mars 2025 - 12 juil. 2007 à 12:35
Bonjour,

je n'arrive pas à trouver comment substituer des variables de façon imbriquées, et je ne sais pas si c'est possible. Je m'explique : je cherche dans un script shell, a traiter dans une fonction les paramètres 2 à 2.

for var in $@
do
if [ $indice -eq $# ]
then break
fi

sed -n $1,$2p $HOME/$tmp_mail
indice=$indice+1
done

Mon problème c'est que je veut pour la première occurrence du for traiter les variables $1 et $2, lors de la seconde occurrence les variables $2 et $3, ... Il faut donc que je traite les variables $($indice) et $($indice +1)
Mais je n'arrive pas à trouver la bonne syntaxe, avec ${..} ou $(..) ... Pouvez vous m'aider svp??
A voir également:

1 réponse

dubcek Messages postés 18769 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 30 mars 2025 5 629
12 juil. 2007 à 12:35
il faut utiliser shift
NAME
shift - shift positional parameters
SYNOPSIS
shift [n]
DESCRIPTION

The positional parameters shall be shifted. Positional parameter 1 shall be assigned the value of parameter (1+n), parameter 2 shall be assigned the value of parameter (2+n), and so on.
0

Discussions similaires