Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Cillit - skrypt na studia  (Przeczytany 3508 razy)

sabcio

  • Gość
Cillit - skrypt na studia
« dnia: 2008-03-30, 10:34:43 »
Witam,
potrzebuje pomocy ze skryptem na studia. Oto tresc:

Zadanie 3.3 Cillit
Program służy do przeniesienia pewnych niepotrzebnych plików do katalogu ``~/trashbin''. Jako parametry przyjmuje pliki do przeniesienia lub katalogi do przeszukania. 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.
Pliki są przenoszone do katalogu ``~/trashbin'' razem z całą swoją ścieżką. Jeżeli parametrem jest katalog, należy przeszukać rekurencyjnie jego podkatalogi w poszukiwaniu plików ``trashbin.cfg''. Każdy taki plik zawiera w kolejnych liniach nazwy plików lub wyrażenia regularne opisujące pliki do przeniesienia. Nazwy względne (nie zaczynające się od ``/'') należy rozwijać względem katalogu, w którym znajduje się plik ``trashbin.cfg''.
Uwaga: Spośród nazw, które są zawarte w plikach ``trashbin.cfg'', lub które wynikają z zawartych tam wyrażeń regularnych przenosić należy jedynie zwykłe pliki.

A to co sam napisalem.

#!/bin/sh

#przeszukanie parametrow z lini polecen
#w przypadku -v wyswietlana jest wersja programu
#w przypadku -h wyswietlana jest pomoc programu

for parametr in $*
do
case $parametr in
        -v)
        echo "Cillit wersja 1.0"
        exit
        ;;

        -h)
        echo "\\nPOMOC PROGRAMU:\\n"
        echo "\\tCillit - przenoszenie niepotrzebnych plikow do katalogou ~/trashbin\\n"
        echo "SKLADNIA\\n\\t./cillit [-h] [-v] plik1|katalog1 [plik2|katalog2...]\\n"
        echo "WYKONAL: Sebastian Wojtczak"
        exit
        ;;

        *)
        ;;
esac
done


# Jezeli nie podano zadnego parametru wyswietla pomoc

if test $# = 0
then
        echo "\\nPOMOC PROGRAMU:\\n"
        echo "\\tCillit - przenoszenie niepotrzebnych plikow do katalogou ~/trashbin\\n"
        echo "SKLADNIA\\n\\t./cillit [-h] [-v] plik1|katalog1 [plik2|katalog2...]\\n"
        echo "WYKONAL: sabcio"
        exit
fi

# stworzenie katalogu trashbin w razie gdyby nie byl stworzony wczesniej

if ! [ -d ~/trashbin ]
then
        mkdir ~/trashbin
fi

# Jezeli parametrem jest plik

for plik in $*
do

        if [ -f $plik ]
        then
        cp $plik ~/trashbin
        echo "Przenoszenie pliku: $plik"
fi

done

# Jezeli parametrem jest katalog
# przeszukuje go i przenosi pliki do ~/trashbin

for katalog in $*
do

if test -d $katalog
then
        echo "Paramtrem jest katalog: $katalog"
        echo "Szukam trashbin.cfg i przenosze pliki."
        find $katalog -name "trashbin.cfg" | while read TRASH
        do
                cat $TRASH | while read PLIK
                do
                znak=`echo $PLIK | cut -c1`
                dir=`dirname $TRASH`
                if [ "$znak" == "/" ]
                then
                cp $PLIK ~/trashbin
                else
                cp $dir/$PLIK ~/trashbin
                fi
                done
        done
fi

done


Uporalem sie z katalogami, jak widac wyzej. Wiem tez ze trashbin.cfg musi byc wczesniej zrobiony przez uzytkownika.  Tym razem prowadzacy zaskoczyl nas tym ze parametrem moze byc jakis plik/katalog ze spacja w nazwie. Jeszcze sobie z tym nie poradzilem ale jezeli ktos ma pomysly to bylbym wdzieczny. Znalazlem sobie w googlach ze jest to zwiazane z poleceniem sed.

Pozdrawiam

darko

  • Gość
Cillit - skrypt na studia
« Odpowiedź #1 dnia: 2008-03-30, 12:32:12 »
Cytat: sabcio
Czy on sam sie tworzy? Czy ja mam go utworzyc?
Na to pytanie najlepiej ci odpowie sam prowadzący zajęcia, ale wg mnie sam je tworzysz i przykładowo wypełniasz.

sabcio

  • Gość
Cillit - skrypt na studia
« Odpowiedź #2 dnia: 2008-03-30, 13:09:59 »
Prowadzacy nic nie mowil. Jedynie przydzielil zadania. A niestety zaliczenie jest juz jutro.
Zaliczenie jednak nie bylo w tamten poniedzialek, ale jest w ten. Pojawily sie tez nowe problemy, opisane w pierwszym poscie.