tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
1061
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    DeluXe DeluXe ist offline Funkjoker
    Registriert seit
    Jul 2004
    Ort
    Offenburg
    Beiträge
    847
    Tag zusammen,

    irgendwie stehe ich gerade auf dem Schlauch..

    Ich habe folgende Ordnerstruktur:
    Code :
    1
    2
    3
    4
    
    - files
    -- foo
    -- bar
    -- zip.sh

    Nun möchte ich mit Hilfe von ./zip.sh * alle Ordner in files in einzelne Archive packen, sprich das ich dann ein bar.zip und ein foo.zip erhalte.
    Jedoch wird mir nur ein bar.zip erstellt, von foo.zip weit und breit nichts zu sehen.

    Kann mir bitte jemand sagen was an den paar Zeilen falsch ist?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    #!/bin/bash
    #
    # param
    # 1. source
     
    files=$1
     
    for file in $files
    do
            echo "zipping $file ...."
            /usr/bin/zip -r "$1.zip" "$1"
            echo ""
    done

    Danke schonmal.
     
    mfg

    DeluXe

  2. #2
    DeluXe DeluXe ist offline Funkjoker
    Registriert seit
    Jul 2004
    Ort
    Offenburg
    Beiträge
    847
    Ach bin ich doof, ich greife ja auf $1 innerhalb der Schleife zu.

    *done*
     
    mfg

    DeluXe

  3. #3
    DeluXe DeluXe ist offline Funkjoker
    Registriert seit
    Jul 2004
    Ort
    Offenburg
    Beiträge
    847
    Und damit der Thread nicht vollkommen vom Sinn befreit hier rum gurkt, noch die "fertige" Lösung.

    Ist nicht toll, bestimmt auch sehr Fehleranfällig, aber mir reicht es aus, um die paar Ordner zu zippen.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    #!/bin/bash
    #
    # param
    # 1. source
     
    skip=0
    find "$1" -maxdepth 1 -type d |while read file;
    do
            if [ $skip -eq 0 ]
            then
                    skip=1
            else
                    echo "zipping $file ...."
                    /usr/bin/zip -r "$file.zip" "$file" > /dev/null
            fi
    done
    (Da find als erstes Ergebnis den root-Directory ausgibt, wird der erste Durchgang einfach mit Hilfe von skip übersprungen. WIe gesagt, nicht toll das ganze, nur funktionell.)
     
    mfg

    DeluXe

Ähnliche Themen

  1. Kleines Perl-Skript in PHP umschreiben
    Von DerElliot im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 0
    Letzter Beitrag: 12.03.10, 21:03
  2. Antworten: 1
    Letzter Beitrag: 01.02.08, 11:38
  3. array skript bash
    Von onebugarmy im Forum Linux & Unix
    Antworten: 3
    Letzter Beitrag: 28.01.08, 00:10
  4. BASH: Skript zur Resourcenauslastung
    Von Der nette Mann im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 24.06.05, 17:48
  5. kleines Shell-Skript
    Von flou im Forum Linux & Unix
    Antworten: 14
    Letzter Beitrag: 21.02.05, 16:06