Nowe posty

Autor Wątek: Skrypt do ściągania plików przez ftp  (Przeczytany 3638 razy)

mgkc

  • Gość
Skrypt do ściągania plików przez ftp
« dnia: 2009-03-30, 22:50:27 »
Witam dopiero zaczynam swoją przygodę z bashem i mam do zrobienia taki oto program:

Program służy do wsadowego ściągania plików przez anonimowe ftp. Kolejne parametry wywołania traktowane są jako oznaczenia plików do ściągnięcia (uwaga : nazwy mogą zawierać spacje). Jeżeli jako którykolwiek parametr wystąpi ``-h'' - drukowana jest informacja o programie, jeżeli wystąpi ``-v'' - drukowany jest numer wesji. W obu przypadkach program nie wykonuje już swego głównego zadania. Jeżeli program otrzyma zerową liczbę parametrów, kończy się odpowiednim komunikatem na wyjściu kontrolnym.
Program przetwarza po kolei parametry. Składnia parametrów jest następująca:
binary|ascii:host:zdalny plik:lokalny plik
tyle udało mi sie zdziałać tylko ze nie wykonuje to zadania tak jak powinno :

#!/bin/bash
if > [ grep *-v* ];
then
echo wersja 1.0
exit 0
elif [  grep *-h* ]; then
echo ftp program do wsadowego sciagania plikow
exit 0
else
sed/" "/"_"
sed/":"/" "
> read tryb host zdalny_plik lokalny_plik
if [ "$tryb" || "$host" || "$zdalny_plik" || "$lokalny_plik" ];
then
$zdalny_plik < sed/"_"/" "
$lokalny_plik < sed/"_"/" "
ftp -n
ftp ftp ftp <$tryb
ftp exit 0
else
echo brakuje parametrow!!
fi
fi
Prosze o pokazanie mi błędów jakie popełniam oraz wszelką inną pomoc. Dla kogoś kto dobrze zna basha zapewne to banalne i mój program jest bez sensu, ale ja nie ogarniam tego jak narazie

z góry wieeelkie dzięki

Edit ChmOOrecK: zalecam stosowanie tagu "code" składni BBCode, tym razem poprawiłem za Ciebie.

chmooreck

  • Gość
Skrypt do ściągania plików przez ftp
« Odpowiedź #1 dnia: 2009-03-30, 23:10:52 »
W skrypcie uruchamiasz kilka razy klienta ftp...

Zainteresuj się programem wget.

mgkc

  • Gość
Skrypt do ściągania plików przez ftp
« Odpowiedź #2 dnia: 2009-03-30, 23:37:23 »
Ok thx za podpowiedz już wiem co poprawić z klientem:)

Poczytam o wget
 
Ale jeszcze mam 2 pytania :
1. czy warunki z grep są poprawnie utworzone ??
2. czy rozwiązanie problemu z ":" zamiast spacji na standardowym wejsciu oraz
problemu spacji w zdalny_plik i lokalny_plik może być tak załatwione jak w powyższym moim kodzie czyli przy użyciu sed ??

chmooreck

  • Gość
Skrypt do ściągania plików przez ftp
« Odpowiedź #3 dnia: 2009-03-30, 23:59:41 »
Spacje w nazwach plików są jak najbardziej prawidłowe i nie ma potrzeby ich zmiany na inne znaki. Najlepiej potrenuj troszkę z wget'em i zobacz jak on się zachowuje. Twój problem będzie się sprowadzał do wygenerowania odpowiedniego URL'a dla wget'a i potem zmianie nazwy ściągniętego pliku.

Zamiast się pytać czy tak będzie poprawnie lepiej poeksperymentować samemu ;)

mgkc

  • Gość
Skrypt do ściągania plików przez ftp
« Odpowiedź #4 dnia: 2009-03-31, 01:01:06 »
:) skoro najlepiej trenowac no to bede trenowac dalej :) dzieki za rady...