Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/03/2011, 17h20   #1
Invité régulier
 
karim
Inscription : août 2010
Messages : 24
Détails du profil
Informations personnelles :
Nom : karim

Informations forums :
Inscription : août 2010
Messages : 24
Points : 8
Points : 8
Par défaut afficher les paramètres d'un script shell avec une boucle for

Bonjour,

Je veux afficher les paramètres d'un script shell en plus le nom du script avec une boucle for:

Voilà le script shell que j'ai créer:

Code :
1
2
3
4
5
6
7
 
#!/bin/sh
 
for i in $(seq 0 $#)
do
echo $i
done
Pour tester le script:

Code :
>./test.sh par1 par2 par3
le résultat que je veux moi c'est:
./test.sh
par1
par2
par3

alors que l'affichage est le suivant:

0
1
2
3

Merci de votre aide.
nakatami est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 17h32   #2
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,
Code :
1
2
3
4
5
6
7
#!/bin/sh

for i in $@
do
echo $i
done
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/03/2011, 17h41   #3
Invité régulier
 
karim
Inscription : août 2010
Messages : 24
Détails du profil
Informations personnelles :
Nom : karim

Informations forums :
Inscription : août 2010
Messages : 24
Points : 8
Points : 8
Merci beaucoup pour votre réponse.

Mais je veux que le résultat soit sous la forme suivante

./test.sh
par1
par2
par3

tous celà est dans la boucle for.
nakatami est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 17h43   #4
Membre éclairé
 
Avatar de FRUiT
 
Homme
Inscription : février 2011
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2011
Messages : 83
Points : 326
Points : 326
Sinon (seulement en bash) :
Code :
1
2
3
4
5
6
#!/bin/bash
 
for i in $(seq 0 $#)
do
echo ${!i}
done
Mais bon la solution de zipe31 est la mieux.
FRUiT est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/03/2011, 17h59   #5
Invité régulier
 
karim
Inscription : août 2010
Messages : 24
Détails du profil
Informations personnelles :
Nom : karim

Informations forums :
Inscription : août 2010
Messages : 24
Points : 8
Points : 8
Ca marche aussi pour le shell, c'est normal non ?

Code :
1
2
3
4
5
6
7
 
#!/bin/sh
 
for i in $(seq 0 $#)
do
echo ${!i}
done
>./test.sh par1 par2 par3
./test.sh
par1
par2
par3

Juste un éclaircissement à quoi sert le point d'exclamation ici ${!i} ?

Merci
nakatami est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 18h11   #6
Membre éclairé
 
Avatar de FRUiT
 
Homme
Inscription : février 2011
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2011
Messages : 83
Points : 326
Points : 326
En gros, !i va se développer en la valeur de la variable i.

Exemple :
Code :
1
2
3
4
5
#!/bin/bash
var="variable"
variable="dynamique"
echo "Ma $var est une ${var} ${!var}"
// Resultat : Ma variable est une variable dynamique
Source : http://www.placeoweb.com/dotclear/in...it-pas-oublier
FRUiT est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 15/03/2011, 18h16   #7
Invité régulier
 
karim
Inscription : août 2010
Messages : 24
Détails du profil
Informations personnelles :
Nom : karim

Informations forums :
Inscription : août 2010
Messages : 24
Points : 8
Points : 8
Merci beaucoup FRUiT
nakatami est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 19h21   #8
Membre éclairé
 
Avatar de FRUiT
 
Homme
Inscription : février 2011
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2011
Messages : 83
Points : 326
Points : 326
De rian
FRUiT est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h50.


 
 
 
 
Partenaires

Hébergement Web