Bash: lokale Variablen in Prozeduren

17/09/2009 - 23:42 von Bernd Hohmann | Report spam
Habe ich etwas verpasst?

stopit() {
...
let i
..
}

restart)
shift 1;
for i in $@; do
stopit $i;
startit $i;
done;
;


nach dem call "stopit" steht "$i" auf "18", anscheinend ist das "$i" global.

1) Gibt es keine lokalen variablen in der Bash?

2) Könnte mir jemand eine Shell anraten die *etwas* nàher an der Syntax
moderner Programmiersprachen ist? Ich spreche BASIC, C, Java, COBOL und
Assembler und REXX - keine dieser Sprachen ist so krude wie Bash
(ausgenommen REXX natürlich...).

Bernd

Visit http://www.nixwill.de and http://www.spammichvoll.de
jean.oliver@nixwill.de & bernado.bernhardi@spammichvoll.de
 

Lesen sie die antworten

#1 helmut
17/09/2009 - 23:58 | Warnen spam
Hallo, Bernd,

Du meintest am 17.09.09:

Habe ich etwas verpasst?

stopit() {



local i

...
let i
..
}

restart)
shift 1;
for i in $@; do
stopit $i;
startit $i;
done;
;


nach dem call "stopit" steht "$i" auf "18", anscheinend ist das "$i"
global.

1) Gibt es keine lokalen variablen in der Bash?



Doch - siehe oben

Viele Gruesse
Helmut

"Ubuntu" - an African word, meaning "Slackware is too hard for me".

Ähnliche fragen