Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich
  • »linuxerr« ist der Autor dieses Themas

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

1

13.10.2010, 17:31

BUG in der bash???????

also leute ich habe hier ein paar eigenartige effekte und komme einfach nicht weiter.
ich setze hier ein system mit slax 6.1.2 auf, was im prinzip eine slackware 12.2 ist.

verwendet wird die bashversion 3.1.17(2)-release

ich habe ein FILE, in dem mehrere variablen wie zb

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
lo_FIREWALL_0="INPUT_ACCEPT=all;all"
lo_FIREWALL_1="INPUT_DENY=none"
lo_FIREWALL_2="OUTPUT_ACCEPT=all;all"
lo_FIREWALL_3="OUTPUT_DENY=none"
eth0_FIREWALL_0="INPUT_ACCEPT=all;all"
eth0_FIREWALL_1="INPUT_DENY=none"
eth0_FIREWALL_2="OUTPUT_ACCEPT=all;all"
eth0_FIREWALL_3="OUTPUT_DENY=none"
eth1_FIREWALL_0="INPUT_ACCEPT=all;all"
eth1_FIREWALL_1="INPUT_DENY=none"
eth1_FIREWALL_2="OUTPUT_ACCEPT=all;all"
eth1_FIREWALL_3="OUTPUT_DENY=none"


diese datei wird in ein script includiert, das diese variablen benutzen soll. mein problem ist nun, dass ein teil der variablen einfach verschwindet oder leer ist, das betrifft die variablen mit dem postfix *_0.

wenn ich zb folgendes script ausführe

Quellcode

1
2
3
4
5
6
#!/bin/bash
. FILE

echo "LO=${!lo_FIREWALL_*}"
echo "LO=${!lo_FIREWALL*}"
echo "LO=${!lo_F*}"


dann erhalte ich als ausgabe

Quellcode

1
2
3
LO=lo_FIREWALL_1 lo_FIREWALL_2 lo_FIREWALL_3
LO=lo_FIREWALL_1 lo_FIREWALL_2 lo_FIREWALL_3
LO=lo_FIREWALL_1 lo_FIREWALL_2 lo_FIREWALL_3 lo_FIREWALL_0


das selbe passiert mit den eth0 variablen. eigenartig ist auch, dass in der dritten zeile lo_FIREWALL_0 als letzter eintrag ausgegeben wird.

da ist doch was faul!!! :crazy:

hat jemand eine idee ??
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

2

13.10.2010, 20:28

Mir fällt auch nix auf, aber man könnte versuchen, das besonders korrekt zu machen... vielleicht hilft es. Man könnte z.B. Semikola hinter die Zuweisungen tun.

Driver

Anfänger

  • »Driver« ist männlich

Beiträge: 21

Wohnort: Bayreuth

Beruf: SysAdmin

  • Nachricht senden

3

14.10.2010, 09:34

RE: BUG in der bash???????

Zitat

Original von linuxerr
da ist doch was faul!!! :crazy:
hat jemand eine idee ??


Servus,

sieht für mich auch perfekt aus und klappt unter Debian astrein (hab die Zeilen mal eben kopiert).
Ich würd mal so ansetzen, dass ich statt FILE einzubeziehen die Variablen testhalber direkt in die Auswertung schreib.

Aber komisch ist das schon.

J.
--
Was Du nicht weißt, das musst Du Dir erklären!

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich
  • »linuxerr« ist der Autor dieses Themas

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

4

16.10.2010, 12:34

RE: BUG in der bash???????

so, ich habe das core-paket (enthält das grundsystem) komplett ausgetauscht, da war bestimmt ein fehler drin. die bash funktioniert jetzt erst einmal wie gewohnt.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

Thema bewerten