The UNIX and Linux Forums  

Go Back   Die UNIX-und Linux-Foren > Top Foren > UNIX für Fortgeschrittene und Experten
.
Google unix.com



UNIX für Fortgeschrittene und Experten Expert-to-Experte. Erfahren Sie fortgeschrittene UNIX-, UNIX-Kommandos, Linux-Betriebssysteme, System-Administration, Programmierung, Shell, Shell-Skripte, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
globale Variablen in KLD (FreeBSD) int80h High-Level-Programmierung 0 01-17-2008 08:14 PM
Einstellen einer globalen Variablen im Skript arunkumar_mca UNIX for Dummies Questions & Answers 3 10-23-2007 08:46 AM
perl globalen Variablen reggiej Shell Programmierung und Scripting 3 08-29-2005 09:18 AM
Einstellung globale Variable für alle Benutzer Champion UNIX for Dummies Questions & Answers 4 08-15-2002 01:59 AM
Global PATH Einstellung jxh UNIX for Dummies Questions & Answers 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 11-20-2008
gregf gregf is offline
Registrierte Nutzer
  
 

Join Date: Nov 2008
Beiträge: 2
Einstellen der globalen Variablen mit BASH / Linux

Ich bin mit Funktionen in einem Skript und für einige seltsame Grund der EXPORT-Kommandos doesnt zu sein scheinen, meine globalen Variablen.

Wer hat irgendwelche Ideen?

Ich bin über eine Funktion, um an einigen anderen Top-Ausgang mit der Leitung, zB

Funktion 1 | Funktion 2

Funktion 2 liest den Wert aus Funktion ein und stellt einige Variablen auf den Wert dann exportiert

setStartSeq () (
Lesen Sie LogFile
echo "Start-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)
Export arcPrefix \u003d $ arcPrefix
Export startSeq \u003d $ startSeq
)


Doch später in der Skript-Funktion versucht, eine andere Verwendung der oben genannten Variablen und exportiert sie Arent gesetzt!

Ich habe bestätigt, dass, indem Sie einen Export-p in der späteren Funktion und alle Werte, die oben sind leer.

Ich bin neu in BASH und Linux, aber haben die Ausfuhr ohne Problem mit kornshell.


Jede Hilfe wäre sehr geschätzt
  #2 (permalink)  
Old 11-20-2008
demwz demwz is offline
Registrierte Nutzer
  
 

Join Date: Jun 2008
Beiträge: 128
Ich nehme an, die Funktionen laufen in einem Subshell, je nachdem, wie Sie sie ionvoke.
Die Subshell geschlossen ist nach der Ausführung an der Variablen gehen verloren. Export nicht nur von den Eltern auf das Kind.
  #3 (permalink)  
Old 11-20-2008
gregf gregf is offline
Registrierte Nutzer
  
 

Join Date: Nov 2008
Beiträge: 2
Ja, aber Ich weiß nicht, wie sonst, es zu tun.

Ich habe eine Funktion, die Auszüge aus einer Datenbank, die eine andere Funktion liest. Diese speichert eine Start-Sequenz-Nummer.

Dann wird das Skript verschiedenen Aktionen.

Dann am Ende eine andere Funktion benötigt, um die Start-Sequenznummer, um einige Dateien.

Hier sind die Funktionen und wie sie aufgerufen werden. Die ersten beiden "CE" sind die Gewinnung / Lesen der Daten aus der Datenbank, dann muss man den Boden, um den Wert von setStopSeq lesen

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

Join Date: März 2008
Beiträge: 23
Sie sollten nicht zu verwenden, um den Export Variablen innerhalb einer Funktion ein globales Problem. Nachdem die Funktion ausgeführt wird, ist es Variablen sollten in der gesamten Rest des Skripts.

Wenn Sie sich auf eine Subshell (WHILE-Anweisung?) In eine der Funktionen, das ist eine andere Geschichte. Es wäre hilfreich, um zu sehen, die anderen Funktionen zu debuggen dieses Problem.

Sind Sie sicher, dass die Werte von Funktion 1 werden an die Funktion 2, wenn Sie die Leitung? Wenn Sie möchten, eine Variable auf Ihren zweite Funktion, würde ich es wie folgt aus:


Code:
func1 () {
var1=1
}

func2 () {
var2=$1
}

func1
func2 $var1

echo $var2

Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 06:20 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0