Lekki trening przed kolokwium rozwiazania, Semestr 5


%Wywolanie%

1. Napisz skrypt, który skompresuje gzipem wszystkie pliki o rozszerzeniu

podanym jako parametr tego skryptu. Skrypt powinien być odporny na

błędy i interaktywnie zapytać o rozszerzenie, gdyby nie podano go jako

parametr.


#!/bin/sh

if [ -z $1 ]; then

echo nie podales parametru chwieju, wpisz rozszerzenie:

read roz

else

roz=$1;

fi

for i in *.$roz; do gzip $i;

done

%sh nazwa_skryptu rozszezrzenie%

2. Zmodyfikuj skrypt z poprzedniego zadania tak, aby kompresował pliki z

rozszerzeniami podanymi jako parametry tego skryptu. Skrypt powinien

działać poprawnie dla dowolnej liczby parametrów (rozszerzeń).


#!/bin/sh

while [ -n "$1" ] ; do

for i in *.$1; do gzip $i;

done;

shift;

done
%sh nazwa_skryptu rozszeerzeni1 rozszerz2 …%
1. Opracuj skrypt, który przetwarzając kolejno wszystkie podkatalogi w

katalogu bieżącym odbierze prawo do zapisu katalogom, które to prawo

posiadają i nada takie prawo katalogom, które go nie posiadają.


#!/bin/sh

for i in *; do

if [ -d $i -a -w $i ]; then

chmod -w $i;

else

chmod +w $i;

fi

done
%sh nazwa_skryptu%
2. Napisz skrypt, który będzie sprawdzał czy jest uruchomiony program,

którego nazwa podawana jest jako parametr tego skryptu. Jeżeli program

działa, to skrypt nie podejmie żadnej akcji, jeżeli nie, skrypt powinien

uruchomić ten program i zapisać każdorazowo datę i godzinę

uruchomienia w pliku logu.

#!/bin/sh

if [ -z $1 ]; then

echo nie podales parametru

exit

fi

ps | grep $1 && echo program dziala || { $1; date>log; }
%sh nazwa_skryptu ls%


1. Napisz skrypt, który wyświetli uporządkowaną alfabetycznie,

ponumerowaną listę użytkowników o imieniu Adam posiadających konta na

serwerze student.


#!/bin/sh
ls /home | grep _adam | cat -n
%sh nazwa_skryptu%

2. Opracuj skrypt, który dla dowolnej ilości liczb będących parametrami tego

skryptu obliczy:

ich

sumę

podłogę

(część całkowitą) ich średniej arytmetycznej.


#!/bin/sh

a=$#

while [ -n "$1" ];

do

suma=$[ $suma + $1 ]

shift

done

echo "suma to: " $suma

podloga=$[ $suma / $a ]

echo "podloga to: " $podloga

%sh nazwa_skrypttu liczba1 liczba2%
1. Napisz skrypt, który zliczy w katalogu bieżącym liczbę plików o

rozszerzeniu podanym jako pierwszy parametr tego skryptu. Jeżeli liczba

plików przekroczy wielkość, która jest drugim, opcjonalnym parametrem

jego wywołania, to skrypt powinien zapisać ich listę do pliku, którego nazwa

jest trzecim parametrem wywołania skryptu. Uruchomienie skryptu bez

podania przynajmniej jednego parametru powinno zakończyć się

wyśiwtlenie m komunikatu o błędzie.


#!/bin/sh

if [ -z $1 ]; then

echo pozycz mnie dwu stów, bo nie ma parametrow

exit

else

j=0

for i in *.$1; do

j=$((j+1));

if [ "$j" -gt "$2" ]; then

ls *.$1 > $3

fi

done

fi
%sh nazwa_skryptu rozszerzenie liczba nazwa_pliku%

2. Opracuj skrypt, który obliczy podłogę (część całkowitą) średniej

arytmetycznej ilości rozpoczętych sesji logowań przypadających na

przeciętnego użytkownika serwera student w bieżącym miesiącu.


#!/bin/sh

A=`last | sort -k 1|cut -d " " -f 1|uniq| wc -l`

B=`last | wc -l`

echo liczba aktywnych uzytkownikĂłw: $A

echo liczba rozpoczetych sesji: $B

SREDNIA=`expr $B \/ $A`

echo $SREDNIA

%sh nazwa_skryptu%
1. Przygotuj skrypt, który działając w tle zlicza co 10 sekund liczbę

użytkowników pracujących na serwerze student. Gdy liczba użytkowników

(nie liczba aktywnych sesji) przekroczy wartość podaną jako parametr

wywołania skryptu, skrypt powinien zakończyć działanie wypisując tą

liczbę.




2. Napisz skrypt, który będzie sprawdzał czy jest uruchomiony program,

którego nazwa podawana jest jako parametr tego skryptu. Jeżeli program

nie działa, to skrypt nie podejmie żadnej akcji, jeżeli działa, skrypt powinien

zakończyć działanie tego program i zapisać każdorazowo datę i godzinę

zakończenia w pliku logu (Dla uproszczenia przyjmujemy, że nigdy nie

działa więcej niż jedna instancja śledzonego programu).






Wyszukiwarka

Podobne podstrony:
3 kolo zadania treningowe przed kolokwium 2
TRENING PRZED KOLOKWIUM, WSFiZ rok 1
Trening przed kolokwium
kolokwium II semestr geometria mas rozwiązania
Oel2-rozw, Studia Informatyka -PŁ, 2 semestr, Obwody elektryczne 2, Cwiczenia, 2 kolokwium, Rozwiąza
kolokwium rozwiazania, studia, Semestr 1, Podstawy programowania 1 -PP1 Fryźlewicz Zbigniew, kolokwi
kolokwium z geodezji semestr 2
Kolokwium 1 rozwiazania
Biochemia - kolokwium[1], Studia, Semestr III, Biochemia, Wykłady
trening przed sprawdzianem z elektrostatyki, Fizyka
NOM ( I kolokwium II semestr) opracowane przez Piaska, Politechnika Poznańska ZiIP, II semestr, nom
Biotechnologia - Kolokwium 2(1), Ogrodnictwo, Semestr VII, Biotechnologia
kolokwium 4 rozwiazania, Chemia
Budownictwo wodne kolokwium 2, STUDIA, semestr 5, Podstawy Budownictwa Wodnego
Statystyka mat mała próba rozwiązanie, Semestr II, Statystyka matematyczna

więcej podobnych podstron