Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix > Solaris
Solaris Forum d'entraide sur le système Solaris.
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 21/03/2008, 13h01   #1
Membre du Club
 
Inscription : août 2003
Messages : 73
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 73
Points : 59
Points : 59
Par défaut [SHELL] Probleme script "portée variable"

Bonjour,

Je rencontre un petit problème de visibilité de variable qui est modifié dans une partie entre parenthèses :

Code :
1
2
3
4
5
6
7
#!/bin/sh
FIC=toto
(
FIC=titi
)
echo "Fic : $FIC"
Il faudrait que ca affiche "Fic : titi".
Mais ca affiche "Fic : toto".

Merci.
bidon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2008, 14h45   #2
Membre Expert
 
Avatar de jlliagre
 
Inscription : juin 2007
Messages : 971
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juin 2007
Messages : 971
Points : 1 378
Points : 1 378
Ce comportement est normal. La variable est modifiée dans un sous-shell et ne modifie donc pas la valeur du shell principal.

Pourquoi as-tu mis des parenthèses ?

Si c'est juste pour grouper des commandes, tu peux essayer çà:
Code :
1
2
3
4
5
6
#!/bin/sh
FIC=toto
{
FIC=titi
}
echo "Fic : $FIC"
jlliagre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2008, 17h43   #3
Membre du Club
 
Inscription : août 2003
Messages : 73
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 73
Points : 59
Points : 59
Merci.

Je vais essayer.
C'est que j'ai besoin de modifier un script existant.
L'exemple que j'ai mis dans le post est un résumé.
Je ne voudrais pas remettre en cause tout ce qui a été fait.
Les parenthèses sont je pense là pour grouper plusieurs lignes
Après les parenthèses, il y a une redirection de la sortie d'erreur dans un fichier.

Cordialement.
bidon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h43.


 
 
 
 
Partenaires

Hébergement Web