PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : packen und entpacken



danielo
28-06-2005, 14:04
Hi,
brauche dringend hilfe, hab in der schule ne aufgabe bekommen inder ich in bash ein script zum packen und entpacken von datein schreiben soll und zwar alleine ohne hilfe vom lehrer.

Das script soll folgendes beinhalten:
-auf wunsch soll man vor dem packen noch einen blickl in sein homeverzteichnis werfen können.
-verzeuichnis und datei sollen auf existenzgeprüft werden
-datei soll gepackt sowie entpackt werden können.

Hab folgende idee, funktiopniert aber nicht und ich weis auch nicht mehr weiter, also riskiert mal bitte nen blick und sagt mir was ich falsch gemacht habe, oder was noch fehlt,dankeeeeeeeeee:

cd
echo "Wollen Sie einen blick auf Ihre dateien haben??geben Sie 'j' fuer ja und 'n' fuer nein ein:"
if test "$1" = 'j'; ls -l ; then echo "hier ein blick auf Ihre Dateien"
else echo "Quelldatei eingeben:"
read dat
echo "verzeichnis eingeben:"
read ort
fi

if test -f "$dat" ; then echo "datei existiert"
else echo "datei existiert nicht"
fi

if test -d "$ort" ; then echo "verzeichnis existiert"
else echo "verzeichnis existiert nicht"
fi

cd "$ort"
echo""
echo"geben sie den namen für die zip datei ein:"
read name
echo ""

zip $dat
mv '$dat'.zip '$ort/$name'

unzip $dat
mv '$dat' '$ort/$name'


exit 0

peschmae
28-06-2005, 16:20
if test "$1" = 'j'; ls -l ; then echo "hier ein blick auf Ihre Dateien"
else echo "Quelldatei eingeben:"
read dat
echo "verzeichnis eingeben:"
read ort
fi

Da hakts. Erstens ist die Richtige Reihenfolge auf der ersten Zeile:

if test "$1" = 'j'; then
echo "zeugs guck:"
ls -l
fi

Zweitens verwendest du else. Aber das möchtest du nicht - der else-Teil wird nur ausgeführt wenn der Benutzer *nicht* j eingegeben hat. Soll er aber immer. Also nichts mit else/fi mehr dort wo du den Benutzer die Pfade eingeben lässt.

MfG Peschmä