problem mit rückgabewert

Diskutiere problem mit rückgabewert im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; hallo, es geht darum ein bash-skript zu schreiben, dass durch die verzeichnisstruktur geht und in jedem verzeichnes die größe der enthaltenen...

  1. #1 maximAL, 23.01.2006
    maximAL

    maximAL Grünschnabel

    Dabei seit:
    23.01.2006
    Beiträge:
    4
    Zustimmungen:
    0
    hallo,
    es geht darum ein bash-skript zu schreiben, dass durch die verzeichnisstruktur geht und in jedem verzeichnes die größe der enthaltenen dateien addiert und ausgibt.
    das ganze soll rekursiv sein, mit parameter-rückgabe über echo. und da gibts wohl irgendein problem, jedenfalls vertragen sich wohl zwei werte bei der addition nicht.
    Code:
    dir=~/htw/bs/beleg2
    
    cd $1
    
    if [ $# -lt 2 ]
    then
        size=0
    else
        size=$2
    fi
    
    for obj in `ls -A`
    do
        if [ ! -d $obj ] 
        then
    filesize=`ls -s $obj | awk '{print $1}'`
    echo $filesize
    size=$(( $size+$filesize ))
        elif [ -d $obj ] 
        then
    dirsize=`$dir/space $obj $size`
    echo $dirsize
    size=$(( $size+$dirsize )) #HIER DAS PROBLEM
        fi 
    done
    
    echo  $size
    ich hab jetzt schon alles möglich rumprobiert, aber ich komm einfach nicht drauf wie ich den rückgabewert zur variable addieren kann :hilfe2:
     
  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 ninguno, 23.01.2006
    ninguno

    ninguno Tripel-As

    Dabei seit:
    13.05.2005
    Beiträge:
    162
    Zustimmungen:
    0
    und wie schaut das problem aus? gibt's einen error oder kommt das falsche ergebnis raus?
    was macht denn die zeile dirsize=`$dir/space $obj $size` ?
     
  4. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Abgesehen davon, warum ermittelst Du die größe nicht über 'du' ?

    Beispiele:
    Code:
    du -k            # Angabe in kB
    du -M           # Angabe in MB
    du -h            # Angabe human readable, also GB, MB, oder kB
    du -k --max-depth=1   # Größe des akt. Verz. in kB inkl. aller Dateien und Verzeichnisse die Unterhalb liegen
    
     
  5. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Weils wahrscheinlich eine Hausaufgabe der HTW ist ;)

     
  6. #5 maximAL, 23.01.2006
    Zuletzt bearbeitet: 23.01.2006
    maximAL

    maximAL Grünschnabel

    Dabei seit:
    23.01.2006
    Beiträge:
    4
    Zustimmungen:
    0
    genau das und "du" ist halt nicht erlaubt ;)

    so sieht der fehler aus:
    Code:
     ./space: line 23: 8+4
    12 : syntax error in expression (error token is "12 ")
    dass soll rekursiv das skript (welches space heisst, hätte ich noch anmerken müssen) wieder aufrufen. dir ist der pfad zum skript, obj das aktuelle objekt aus dem verzeichnes (hier: ein unterverzeichnis) und size die bis dahin ermittelte größe). das ganze sollte über echo die ermittelte size zurückgeben.

    irgendwie hängts daran, dass sich size und dirsize nicht addieren lassen wollen. ich nehme an, dass der rückgabewert das falsche format hat :think:


    EDIT: ok, problem beseitigt. die diversen echos (zum debuggen) waren ne reichlich dumme idee
     
Thema:

problem mit rückgabewert

Die Seite wird geladen...

problem mit rückgabewert - Ähnliche Themen

  1. Netzwerkproblem ? , wo ud wie suchen

    Netzwerkproblem ? , wo ud wie suchen: Hallo Folgende Problem: Testserver ist i686 Debian-unstable , auf dem läuft primär der apt-proxy apt-cahcer ng. Zugriff im Moment nur per ssh....
  2. Verständnisproblem Samba / LDAP

    Verständnisproblem Samba / LDAP: Hallo zusammen! Ich habe unter Ubuntu 16.04 einen LDAP und Samba Server aufgesetzt. Diese scheinen auch ordnungsgemäß zu funktionieren, sodaß ich...
  3. nginx+php-fpm problem

    nginx+php-fpm problem: Moin, ich hab hier gerade ein Problem und keine Idee mehr woran es liegt. Ich muss wie schon in der Überschrift erwähnt nginx dazu bringen php...
  4. Problem mit Windows auf Ordner auf dem Linuxsystem zuzugreifen

    Problem mit Windows auf Ordner auf dem Linuxsystem zuzugreifen: Ich mache gerade meine ersten Schritte mit Linux und würde gerne auf Dateien meines Linuxsystems auch mit Windows zugreifen, ich bin am...
  5. Virtualboxproblem

    Virtualboxproblem: Hallo Folgnedes Problem: Ich kann ohne Probleme In Debian-Sid, 64Bit und virtualbox-dkms Unixoide installieren, wenn es sich um eine...