Verständnisproblem mit array in bash

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von locuststar, 13.03.2007.

  1. #1 locuststar, 13.03.2007
    locuststar

    locuststar Grünschnabel

    Dabei seit:
    13.03.2007
    Beiträge:
    4
    Zustimmungen:
    0
    Hi zusammen

    für jedes der Elemente in meinem Skript möchte ich eine Aktion starten und bei Erfolg das Element aus dem Array löschen.

    Das funktioniert auf die mir einleuchtende Art nur beim ersten Schleifendurchlauf:
    ###################################
    #!/bin/bash
    set -x

    array=( teller telle tell tel te t )

    for i in ${array[@]}

    do

    unset array[$i]
    #array=( ${array[@]} )
    echo ${array[@]}

    done
    #############################

    Das echo am Ende spuckt ab dem zweiten Durchgang bis zum Ende "telle tell tel te t"
    aus, teller wurde gelöscht.
    Wenn ich das array neu definiere (den Kommentar in der Schleife wegnehme) funzt es.
    Ich begreife aber nicht warum.

    Viele Grüße

    tom
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Wolfgang, 13.03.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Versuch es mal so:
    Code:
    wolle@Nietzsche:~
    $ array=( teller telle tell tel te t );#Array definiert
    length=${#array[*]}; #index für das letzte Element
    for ((i=0;$i<$length;i++));
    do
     unset array[$i];
    echo ${array[*]};
    done
    
    telle tell tel te t
    tell tel te t
    tel te t
    te t
    t
    
    i muss eine Zahl sein, bei dir ist es aber ein String.
    Die Bash kennt keine Hashtable.

    Gruß Wolfgang
     
  4. #3 locuststar, 13.03.2007
    locuststar

    locuststar Grünschnabel

    Dabei seit:
    13.03.2007
    Beiträge:
    4
    Zustimmungen:
    0
    Hi Wolfgang

    heißen Dank für den Tip!
     
Thema:

Verständnisproblem mit array in bash

Die Seite wird geladen...

Verständnisproblem mit array in bash - Ähnliche Themen

  1. grep verständnisproblem

    grep verständnisproblem: Hallo ich hatte ja lange keine anfängerfragen mehr :P Deswegen hier mal eine zu grep: Ich habe eine Textdatei: Hamburg Aschaffenburg...
  2. Verständnisproblem fseek und fgetpos

    Verständnisproblem fseek und fgetpos: Moin, ich würde gerne wissen wie man ANSI C gerecht in einer Datei navigiert. In meinem Buch "Linux/Unix Systemprogrammierung" von Helmut Herold...
  3. Lisp, Verständnisproblem

    Lisp, Verständnisproblem: hallo, ich arbeite gerade den online LISP Kurs der UNI Trier durch. Die Aufgabe lautet ---------- 4. Definiere eine Funktion NREST, die...
  4. Unix Grundlangen Verständnisproblem

    Unix Grundlangen Verständnisproblem: Einen schönen guten Abend Forum! Hintergrundinformation: Ein Perlscript listet mir den Inhalt eines Verzeichnis in eine Datei. Diese Einträge,...
  5. Winbind Verständnisproblem

    Winbind Verständnisproblem: Hallo Leute, ich habe eine Frage die mich sehr beschäftigt. Ich habe jetzt meine Samba-Server in meine ADS gehangen und es funzt soweit alles...