The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Doubt? [champ de variables] qzv2jm De programmation et de script Shell 1 03-04-2008 09:19 AM
Accès Awk variables Hors Champ Amruta Pitkar De programmation et de script Shell 7 01-15-2008 09:17 AM
Accès Awk variables Hors Champ Amruta Pitkar UNIX for Advanced & Expert Users 2 10-26-2006 10:35 PM
étendue sundaresh High Level Programming 7 06-28-2006 12:19 PM
C + +: le champ d'application, les différents fichiers, etc. JP High Level Programming 1 04-25-2002 05:41 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 05-22-2008
dinjo_jo dinjo_jo is offline
Registered User
  
 

Join Date: Mai 2008
Posts: 78
Variables portée.

Salut,
J'essaie de changer la valeur de la variable dans une boucle while, mais sa ne fonctionne pas, il semble que le problème avec subshells lors de la lecture du fichier.

#! / bin / sh
FLAG \u003d 0;
cat fichier | alors lire les données
faire
FLAG \u003d 1;
fait

echo $ FLAG

Faut-1 au lieu d'affichage affiche 0
  #2 (permalink)  
Old 05-22-2008
namishtiwari namishtiwari is offline Forum Advisor  
Registered User
  
 

Join Date: Aug 2007
Lieu: Bangalore
Messages: 377
Citation:
Posté par dinjo_jo View Post
Salut,
J'essaie de changer la valeur de la variable dans une boucle while, mais sa ne fonctionne pas, il semble que le problème avec subshells lors de la lecture du fichier.

#! / bin / sh
FLAG \u003d 0;
cat fichier | alors lire les données
faire
FLAG \u003d 1;
fait

echo $ FLAG

Faut-1 au lieu d'affichage affiche 0
Il n'affiche que la valeur de FLAG à 1 lorsque la condition est remplie, c'est-à-dire il ya un fichier que vous tentez de chat et de la lecture des lignes. Donc, pour vérifier d'abord le fichier.

Merci ..
  #3 (permalink)  
Old 05-22-2008
dinjo_jo dinjo_jo is offline
Registered User
  
 

Join Date: Mai 2008
Posts: 78
Le fichier existe, mais depuis il ya une boucle while chaque lit un fichier, il crée un subshell, de sorte que la valeur est perdu dès que tandis que la boucle se termine.
  #4 (permalink)  
Old 05-22-2008
subin_bala subin_bala is offline
Registered User
  
 

Date d'inscription: avril 2008
Posts: 57
#! / bin / sh
FLAG \u003d 0;
alors que de lire les données
faire
FLAG \u003d 1;
done <filenname

echo $ FLAG

u essayer ce pavillon sera la valeur 1
  #5 (permalink)  
Old 05-23-2008
dinjo_jo dinjo_jo is offline
Registered User
  
 

Join Date: Mai 2008
Posts: 78
Malheureusement, cela ne fonctionne que dans shell bash.
  #6 (permalink)  
Old 05-23-2008
abhisek.says abhisek.says is offline
Registered User
  
 

Join Date: Mai 2008
Messages: 9
Smile contrôle de l'existence de ces fichiers premier

Salut,

Première yo CHECH existence du fichier, puis

FLAG \u003d 0;
alors que lire le fichier
faire
FLAG \u003d 1;
done <fichier_entrée
echo "$ FLAG"

Je pense que cela devrait fonctionner ...
  #7 (permalink)  
Old 05-23-2008
rikxik's Avatar
rikxik rikxik is offline
Registered User
  
 

Join Date: Dec 2007
Messages: 250
Il n'y pas une seule explication et le problème principal n'est pas de savoir si le fichier existe. C'est ce que l'enveloppe est utilisée. Considérez ceci:


Code:
$ cat fcheck
#!/bin/sh

FLAG=0;
cat filename | while read data
do
echo "data=$data"
FLAG=1;
done

echo $FLAG

Bash

Code:
$ bash fcheck
data=line1
data=line2
0

Bourne:

Code:
$ sh fcheck
data=line1
data=line2
0

Korn:

Code:
$ ksh fcheck
data=line1
data=line2
1

Donc, pour sh, le comportement est comme prévu.
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 08:19 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0