Zadanie 1 (imie.sh)
Napisz skrypt imie.sh
, który będzie wyświetlał na ekranie Twoje imię i nazwisko.
Zadanie 2 (zalogowanych.sh)
Napisz skrypt zalogowanych.sh
, który zwróci liczbę aktualnie zalogowanych użytkowników.
Wywołanie:
$ ./zalogowanych.sh
Przykładowy wynik:
12
Zadanie 3 (szukaj-tutaj.sh)
Napisz skrypt szukaj-tutaj.sh
, który będzie wyszukiwał pliki o nazwie podanej w parametrze skryptu. Wyszukiwanie ma się odbywać od katalogu w którym aktualnie pracuje użytkownik. Przykład użycia:
$ cd /home/zasoby/ $ szukaj-tutaj.sh "*mp3"
Zadanie 4 (zmienne.sh)
Napisz skrypt zmienne.sh
, w którym zdefiniuj zmienne:
- liczbową o nazwie L z wartością 555
- tekstową o nazwie N z wartością „napis”
Wyświetl zawartość zmiennych na ekranie.
Zadanie 5 (zmienna $0)
Sprawdź przy pomocy dowolnego skryptu Bash, jaka wartość przypisana jest do zmiennej $0.
Zadanie 6 (suma.sh)
Napisz skrypt suma.sh
, który obliczy sumę dwóch liczb: 12345, 98765 i wyświetli wynik na ekranie.
Zadanie 7 (suma2.sh)
Napisz skrypt w pliku o nazwie „suma2.sh”, który będzie zwracał sumę dwóch liczb podanych w parametrach skryptu. Na przykład, po wywołaniu skryptu:
$ ./suma2.sh 59 11
na ekranie powinien pojawić się wynik:
70
Zadanie 8 (ktorywiekszy.sh)
Napisz skrypt w pliku o nazwie ktorywiekszy.sh
sprawdzający, który z dwóch podanych przez użytkownika parametrów liczbowych przy wywołaniu skryptu jest większy.
$ ./ktorywiekszy.sh 12 32
32
Zadanie 9 (serwer.sh)
Napisz skrypt serwer.sh
, który przyjmuje tylko trzy parametry: „start”, „stop” i „restart”.
- Przy błędnym podaniu parametru skrypt powinien wyświetlić użytkownikowi sposób użycia skryptu.
- Przy „start” ma wyświetlić „Usluga jest uruchamiana…”
- Przy „stop” ma wyświetlać „Usluga jest zatrzymywana…”
- Przy „restart” ma wyświetlać „Usluga jest restartowana…”
Zadanie 10 (listuj-pliki-i-katalogi.sh)
Napisz skrypt listuj-pliki-i-katalogi.sh
, który będzie wyświetlał nazwy wszystkich plików i katalogów z katalogu /etc
w następującej formie
katalog nazwa-katalogu plik nazwa-pliku
Przykładowy output programu:
katalog CORBA katalog RCS katalog acpi plik adjtime katalog apache plik resolv.conf katalog X11
Podpowiedź: wykorzystaj pętle.
Zadanie 11 (pliki-wykonywalne.sh)
Napisz skrypt pliki-wykonywalne.sh
, który wyświetli nazwy wszystkich plików z katalogu /bin/
, które użytkownik ma prawo uruchamiać.
Wykorzystaj pętlę for i testy, nie używaj programu find
.
Zadanie 12 (modyfikacja 10 i 11)
Zmodyfikuj skrypty 10 i 11, aby użytkownik mógł w parametrze skryptów podać nazwę katalogu, który wyświetli pliki. Na początku skryptu należy sprawdzić, czy katalog ten istnieje i w razie błędu powiadomić użytkownika.
Zadanie 13 (info.sh)
Napisz skrypt w pliku o nazwie info.sh
, który będzie wyświetlał informacje o działającym systemie. Program ma mieć następującą funkcjonalność:
- wyświetlanie informacji o wolnej przestrzeni dyskowej;
- wyświetlanie informacji o wolnej pamięci ram;
- wyświetlanie informacji o procesorach zainstalowanych w jednostce głównej;
- wyświetlenie wszystkich powyższych.
Wybrane informacje maja być wyświetlane tylko przy odpowiednio użytych parametrach skryptu, odpowiednio:
–hd
–ram
–cpu
–all
Jeśli użytkownik użyje argumentu „–help” lub poda zły argument skrypt ma wyświetlić treść pomocy.
Zadanie 14 (serwery.sh)
Napisz skrypt serwisy.sh
, który będzie przyjmował dwa argumenty: start lub stop. Pierwszy parametr uruchomi w systemie serwisy sshd i ntpd, parametr „stop” zatrzyma te usługi.
Zadanie 15 (zajetosc90.sh)
Napisz skrypt zajetosc90.sh
, które:
- przyjmuje jako argument nazwę katalogu
- dla tego katalogu sprawdza, ile jest wolnej przestrzeni na partycji na której jest ten katalog
- jeśli wolnej przestrzeni pozostało poniżej 10% wysyłany jest e-mail do roota o treści „Na partycji z katalogiem X jest mało miejsca”
Podpowiedzi:
Aby mieć możliwość wysyłania maili i wygodnego ich odbierania zainstaluj pakiety mail (wysyłka) i mutt (klient). Przykład komendy wysyłającej maila do roota:
echo Tresc | mail -s Temat root
Zadanie 16 (dostepne-dla-usera.sh)
Napisz skrypt dostepne-dla-usera.sh
, który:
- może być uruchomiony tylko jako root;
- przyjmuje jako argument nazwę konta użytkownika;
- jeśli zostanie uruchomiony jako nie-root zwróci o tym informację i zakończy działanie;
- jeśli konto użytkownika nie istnieje zwróci o tym informację i zakończy działanie;
- wyświetla na ekranie wszystkie pliki (nie katalogi) do których podany w argumencie użytkownik ma prawo odczytu.
Add Comment