Witam,
Na początek zaznaczę, że dopiero zaczynam swoją przygodę z bashem. Znalazłem takie zadanie do wykonania:
Napisz skrypt backup który będzie wywoływany w następujący sposób:backup nazwa_pliku
1. Skrypt ma kopiować plik podany jako parametr do katalogu HOME/bck
2. Jeśli katalog bkck nie istnieje należy go utworzyć
3. Jeśli w katalogu bck jest już kopia pliku i plik nie jest od niej nowszy, to nie należy go kopiować. Należy w takim przypadku wyświetlić odpowiedni komunikat.
pierwsze jak i drugie udało mi się bez większego problemu napisać ale nie mam kompletnie pojęcia jak sprawdzić czy w danym katalogu jest juz plik oraz sprawdzić jego wersje (to czy jest nowszy czy starszy).
edit.
cp -u
- do kopiowania tylko wtedy jak plik jest nowszy, tylko jak napisac warunek petli (zapewnie nowej) aby sprawdzal czy jest wersja nowsza i nie kopiowal, wyswietlil komunikat.
kod:
#!/bin/bash
while [ -n "$1" ]
do
if [ -e "$1" ]; then
if [ ! -f "$1" ]; then
echo "$1 nie jest plikiem zwyklym"
else
echo "$1 jest plikiem zwyklym"
mkdir -p ~/bkp
cp -u $1 ~/bkp
echo "skopiowane"
fi
else
echo "$1 nie jestnieje"
fi
shift
done
Proszę o podpowiedź.