Hejcia, przede mną i całą moją grupą 3 podejście do kolokwium zaliczającego Systemy Operacyjne i mamy problem ze skryptami w bashu. Otóż mamy zadania które za 1 razem teoretycznie zrobiliśmy ale nie były one tak jak prowadzący chciał i pokazał nam na dyżurze jak one powinny wyglądać ale jak przelałam do siebie te jego wypociny (XD) to i tak niekoniecznie to dobrze działa, mimo że próbowałam naprawić. Mam nadzieję, że jest tu ktoś kto jest w stanie mi pomóc :)
1. Wypisz imię nazwisko, każdego studenta piszącego z Tobą kolokwium oraz liczbę użytkowników, niekoniecznie zalogowanych, o tym samym imieniu.
#!/bin/bash
who | grep .188\\.146\\.163 | cut -f1 -d " " | uniq | while read login //ip do zmiany
do
grep -a ^$login: /etc/passwd | cut -f5 -d:
imie = " $(( grep ^_$user: /etc/passwd | cut -f5 -d: | cut -f1 -d " " )) //tu wywala blad
grep $imie /etc/passwd | wc -l
done
2. Napisz skrypt, który wywołany w argumentem oznaczającym liczbę sekund zatrzyma sesję na ten właśnie czas (przez polecenie sleep), a potem wypisze nazwy plików, które tym czasie zostały usunięte z Twojego katalogu domowego (i jego podkatalogów). Przed wykonaniem i po wykonaniu polecenia sleep użyj polecenia date do wypisania aktualnego czasu.
#!/bin/bash
date
find ~ -type f > przed
sleep $1
date
cat przed | while read f
do
if [-f $f] //cos tu nie halo
then
echo $f
fi
done
cat przed
3. Dla PID podanego jako argument podaj listę procesów dla których jest on przodkiem.
#!/bin/bash
ps --ppid $$ -o pid
dz = $()
while [ -n "$dz" ]
do
echo $dz
dz2 = ""
for dziecko in $dz
do
dz2 = "$dz2" $(ps --ppid $dziecko)
done
dz = "$dz2"
done