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.