The UNIX and Linux Forums  

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > UNIX for Advanced & Expert Users
.
google unix.com



UNIX for Advanced & Expert Users Expert à Expert. Apprenez avancé UNIX, des commandes UNIX, Linux, les systèmes d'exploitation, d'administration système, de la Programmation, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
des variables globales dans le KLD (FreeBSD) int80h High Level Programming 0 01-17-2008 08:14 PM
l'établissement d'un script dans la variable globale arunkumar_mca UNIX pour les nuls Questions et réponses 3 10-23-2007 08:46 AM
perl variables globales reggiej De programmation et de script Shell 3 08-29-2005 09:18 AM
la mise en variable globale pour tous les utilisateurs champion UNIX pour les nuls Questions et réponses 4 08-15-2002 01:59 AM
Mondial de la mise en PATH jxh UNIX pour les nuls Questions et réponses 5 07-20-2001 06:23 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 11-20-2008
gregf gregf is offline
Registered User
  
 

Date d'inscription: novembre 2008
Messages: 2
Configuration des variables globales avec BASH / Linux

Je suis avec les fonctions dans un script et pour quelque étrange raison, la commande EXPORT doesnt semblent apporter mon variables mondial.

Tout le monde a des idées?

Je suis en train d'utiliser une fonction de transmettre une page de sortie d'un autre en utilisant les tuyaux de commande, par exemple,

Fonction 1 | 2 Fonction

Fonction 2 est la valeur de la fonction et définit certaines variables sur la base de sa valeur puis les exporte

setStartSeq () (
lire logfile
echo "Début de redo log: $ logfile"
arcPrefix \u003d $ (echo $ logfile | cut-d_-f1 )"_"$( echo $ logfile | cut-d_-f2)
startSeq \u003d $ (echo $ logfile | cut-d_-f3 | cut-d.-f1)
l'exportation arcPrefix \u003d $ arcPrefix
l'exportation startSeq \u003d $ startSeq
)


Pourtant, plus tard dans le script d'une autre fonction de l'utilisation des variables ci-dessus et ils ont exporté arent ensemble!

J'ai confirmé que, en cours d'exécution à l'exportation-p à la fin des fonctions et toutes les valeurs fixées ci-dessus sont en blanc.

Je suis nouveau au BASH et Linux mais qui ont utilisé sans problème avec l'exportation kornshell.


Toute aide serait grandement appréciée
  #2 (permalink)  
Old 11-20-2008
demwz demwz is offline
Registered User
  
 

Date d'inscription: juin 2008
Messages: 128
Je suppose que les fonctions sont en cours d'exécution dans un subshell selon la façon dont vous ionvoke eux.
Le subshell est fermé après l'exécution l'une des variables sont perdues. l'exportation ne fait que des travaux de la mère à l'enfant.
  #3 (permalink)  
Old 11-20-2008
gregf gregf is offline
Registered User
  
 

Date d'inscription: novembre 2008
Messages: 2
Oui, il le fait, mais je ne sais pas comment le faire.

J'ai une fonction qui extrait des données d'une base de données, qui se lit d'une autre fonction. Cette boutique de départ numéro de séquence.

Ensuite, le script effectue différentes actions.

Puis à la fin d'une autre fonction des besoins pour obtenir le numéro de séquence de démarrage pour le traitement de certains fichiers.

Voici les fonctions et la façon dont ils sont appelés. Les deux premières sont celles qui sont acheminées extraction / lecture des données à partir de la base de données, puis le bas, il faut obtenir la valeur lue par setStopSeq

getLogFile | setStopSeq
copyArc
  #4 (permalink)  
Old 11-20-2008
stanleypane stanleypane is offline
Registered User
  
 

Join Date: Mar 2008
Posts: 23
Vous ne devriez pas avoir à faire à l'exportation dans les variables d'une fonction devenue mondiale. Une fois la fonction est exécutée, c'est variables devrait être disponible dans le reste de votre script.

Si vous êtes l'invocation d'une subshell (tout état) dans l'un de vos fonctions, c'est une autre histoire. Il serait utile de voir les autres fonctions de déboguer ce problème.

Êtes-vous certains que les valeurs de la Fonction 1 sont transmises à la fonction 2 en utilisant le tuyau? Si vous voulez passer une variable à la seconde fonction, je ferais comme ceci:

Code:
func1 () {
var1=1
}

func2 () {
var2=$1
}

func1
func2 $var1

echo $var2
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 10:59 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