Moim zdaniem lepiej użyć pętli for. Spróbuj to zrobić tak:
#!/bin/bash
# Zmienne.
HOSTNAME="xxxx"
USERNAME="yyyy"
PASSWORD="zzzz"
KATALOG="/sciezka/do/katalogu/"
DATA=`date +%format %daty (więcej man date)`
# Szukanie plików.
for i in *.srs; do
zip $i $i-$DATA.zip
echo "Wysyłanie na $HOSTNAME pliku o nazwie $i-$DATA.zip do katalogu $KATALOG
if [ -f $KATALOG/$i-$DATA.zip ]; then
echo "Plik wysłano." >> log.txt
else
echo "BŁĄD!"
fi
done
ftp in $HOSTNAME
quote USER $USERNAME
quote PASS $PASSWORD
cd test2
cd $KATALOG
binary
put $i-$DATA.zip
quit
exit 0
Z tym, że zarówno twój jak i mój sposób będzie pakował wszystkie pliki srs, żebyś mógł pakować każde z osobna to musiałbyś podać ich nazwę, wtedy wyglądałoby to tak:
#!/bin/bash
# Zmienne.
HOSTNAME="xxxx"
USERNAME="yyyy"
PASSWORD="zzzz"
KATALOG="/sciezka/do/katalogu/"
DATA=`date +%format %daty (więcej man date)`
# Szukanie plików.
for i in $1.srs; do
zip $i $i-$DATA.zip
echo "Wysyłanie na $HOSTNAME pliku o nazwie $i-$DATA.zip do katalogu $KATALOG
if [ -f $KATALOG/$i-$DATA.zip ]; then
echo "Plik wysłano." >> log.txt
else
echo "BŁĄD!"
fi
done
ftp in $HOSTNAME
quote USER $USERNAME
quote PASS $PASSWORD
cd test2
cd $KATALOG
binary
put $i-$DATA.zip
quit
exit 0
Wtedy nazwę pliku podajesz jako parametr skrytpu, np. skrpt.sh plik1234.srs
Pozdrawiam!