Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Bash - Variablen - global/lokal

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
tuxrules



Anmeldungsdatum: 29.01.2003
Beiträge: 75

BeitragVerfasst am: 10. Dez 2003 2:59   Titel: Bash - Variablen - global/lokal

Hallo Welt,

ich habe ein Problem mit dem Werterhalt einer Variablen in einem Bash-Skript. Erst mal der Aufbau des Skripts:

>>

#!/bin/bash

[...]

let -i COUNTER=0

[...]

funktion1 () {
Kommando --mach --was
let -i COUNTER=$COUNTER+1
echo "temp: $COUNTER"
}

[...]

while <Bedingung> ; do
funktion1
done

echo $COUNTER
exit

<<

Das Problem ist, dass ich anhand des 1. echos zwar sehe, dass $COUNTER korrekt hochgezählt wird, aber in der eigendlichen Ausgabe des Zählers am Ende des Skripts wird immer "0" ausgegeben.

Wie kriege ich den "richtigen" $COUNTER-Wert angezeigt? Wär für jeden Hinweis, wo der Wald ist, dankbar...


Zuletzt bearbeitet von tuxrules am 10. Dez 2003 2:59, insgesamt 1-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

ratte
Gast





BeitragVerfasst am: 10. Dez 2003 18:15   Titel: Re: Bash - Variablen - global/lokal

Hi,

ich tippe mal darauf, dass COUNTER in der Funktion lokal ist.

baue mal `return $COUNTER` am Ende der Funktion ein und rufe die Funktion mit `funktion1(COUNTER)` auf.

ratte
 

tuxrules



Anmeldungsdatum: 29.01.2003
Beiträge: 75

BeitragVerfasst am: 10. Dez 2003 21:37   Titel: Re: Bash - Variablen - global/lokal

*AnDieStirnPatsch*

Na klar, der Returnwert!

Vielen Dank, Ratte
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

ratte
Gast





BeitragVerfasst am: 14. Dez 2003 18:10   Titel: Re: Bash - Variablen - global/lokal

...inzwischen durch Lesen der bash manpage dazugelernt:

functions in der Bash verhalten sich bei der Parameteruebergabe wie ein Script, d.h. die uebergebenen Variablen werden durch $1 usw. aufgeloest.

ratte
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy