![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
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 ![]() |
|
||||
|
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 |
|
||||
|
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
|
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|