Last active
April 19, 2016 19:00
-
-
Save ad-m/f93c4ad66838e8dc2efb4e3a48318bbd to your computer and use it in GitHub Desktop.
Rozwiązanie dla laboratoriów 10 z przedmiotu Systemy operacyjne prowadzonego przez p. Zbigniewa Młynarskiego na Uniwersytecie Przyrodniczo-Humanistycznym w Siedlcach
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Zadanie 10.4. | |
| # Przygotuj skrypt o nazwie dodaj_cd, który traktuje kolejne argumenty jako tytuł utworu, | |
| # gatunek muzyki i nazwę wykonawcy. Jeśli dane są poprawne to zostaną one dopisane do | |
| # pliku katalog_cd. Dopuszczalne gatunki muzyki to: | |
| # Blues, Jazz, Rock. | |
| if [[ "$2" =~ ^(Blues|Jazz|Rock)$ ]]; then | |
| echo "$1;$2;$3" >> katalog_cd; | |
| echo "Dopisano"; | |
| fi; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Zadanie 10.5. Przygotuj skrypt o nazwie ile_linii, który zlicza liczbę linii w | |
| # pliku tekstowym, którego nazwa została przekazana jako argument. | |
| # Jeśli liczba wynosi 0, to skrypt wyświetla komunikat: "Nie znaleziono"; | |
| # jeśli kilka pojawia się komunikat " Znaleziono następujące:", a po nim zawartość pliku. | |
| if [ `cat $1 | wc -l` == "0" ]; then | |
| echo "Nie znaleziono"; | |
| else | |
| echo "Znaleziono nastepujace:"; | |
| cat $1; | |
| fi; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Zadanie 10.5. Przygotuj skrypt o nazwie ile_linii, który zlicza liczbę linii w | |
| # pliku tekstowym, którego nazwa została przekazana jako argument. | |
| # Jeśli liczba wynosi 0, to skrypt wyświetla komunikat: "Nie znaleziono"; | |
| # jeśli kilka pojawia się komunikat " Znaleziono następujące:", a po nim zawartość pliku. | |
| # Wersja zmieniająca logikę działania bez wpływu na wynik | |
| [ -s "$1" ] && { echo "Znaleziono nastepujace:"; cat $1; } || echo "Nie znaleziono"; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Zadanie 10.7. Przygotuj skrypt isInRange, który sprawdza, czy podana liczba | |
| # znajduje się wewnątrz przedziału obustronnie domkniętego. Kolejne argumenty | |
| # traktujemy, jako: początek przedziału, koniec przedziału, liczba do sprawdzenia. | |
| # Jeśli liczba znajduje się wewnątrz przedziału skrypt zwraca wartość 0, w | |
| # przeciwnym przypadku -1. | |
| [[ $1 -lt $3 ]] && [[ $2 -gt $3 ]] && exit 0 || exit 1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Zadanie 10.1. | |
| # Przygotuj skrypt o nazwie pora_dnia, który wypisze pytanie "Czy jest ranek? [tak/nie]", | |
| # po czym będzie czekał na odpowiedź użytkownika. W zależności od odpowiedzi użytkownika | |
| # skrypt wypisze tekst "Dzień dobry " albo "Dobry wieczór." | |
| read -p "Czy jest ranek? [tak/nie] " -n 1 -r | |
| echo # (optional) move to a new line | |
| if [[ $REPLY =~ ^[Tt]$ ]] | |
| then | |
| echo "Dzień dobry" | |
| else | |
| echo "Dobry wieczór" | |
| fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Zadanie 10.3. Przygotuj skrypt o nazwie potwierdzenie, który zapyta użytkownika "Czy jesteś pewny?". | |
| # Skrypt kończy się kodem 0, jeśli użytkownik wybierze jedną z poniższych możliwości: t, tak, T, Tak, TAK | |
| # Jeśli zaś użytkownik odpowie: n, nie, N, Nie, NIE skrypt zakończy swoje działanie z kodem wyjścia 1. | |
| # Jeśli użytkownik odpowie w inny sposób skrypt wypisze komunikat: Nie rozumiem tej odpowiedzi. | |
| read -p "Czy jesteś pewny?" -r | |
| if [[ $REPLY =~ ^(t|tak|T|Tak|TAK)$ ]] | |
| then | |
| exit 0 | |
| elif [[ $REPLY =~ ^(n|nie|N|Nie|NIE)$ ]] | |
| then | |
| exit 1 | |
| else | |
| echo "Nie rozumiem tej odpowiedzi" | |
| exit 2 | |
| fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Zadanie 10.2. Przygotuj skrypt o nazwie szukaj , który poprosi o wpisanie przez użytkownika | |
| # nazwy użytkownika, a następnie sprawdzi czy w systemie podany | |
| # użytkownik ma konto i wyświetli stosowny komunikat jeżeli znalazł tę osobę, a także kiedy nie | |
| # mógł znaleźć danej osoby. Użyj polecenia exit w przypadku | |
| # niepowodzenia. | |
| grep "^$1:" /etc/passwd >>/dev/null && { echo "Znaleziono!"; exit 0; } || { echo "Nie znaleziono!"; exit 1; } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Zadanie 10.6. | |
| # Przygotuj skrypt o nazwie testowanie , który sprawdzi czy podany | |
| # argument skryptu jest katalogiem czy plikiem. Jeżeli będzie to | |
| # plik, wtedy wypisze jego uprawnienia w formie słownej np.: | |
| # "Do pliku [nazwa_pliku] masz prawo tylko do jego odczytu." Jeżeli | |
| # okaże się, że jest to katalog, wtedy skrypt ma wyświetlić jego | |
| # zawartość z podaniem w pierwszej linii pełnej ścieżki dostępu do | |
| # tego katalogu. Jeżeli użytkownik nie podał parametrów to skrypt | |
| # ma wyświetlić pomoc jak go używać. | |
| if [ -d "$1" ]; then | |
| echo "Katalog"; | |
| elif [ -f "$1" ] | |
| then | |
| [ -r "$1" ] && echo "Do pliku $1 masz prawo do odczytu."; | |
| [ -w "$1" ] && echo "Do pliku $1 masz prawo do zapisu."; | |
| [ -x "$1" ] && echo "Do pliku $1 masz prawo do wykonywania."; | |
| [ -g "$1" ] && echo "Plik $1 ma ustawiony setgroupid bit"; | |
| [ -k "$1" ] && echo "Plik $1 ma ustawiony sticky bit."; | |
| else | |
| echo "Unknown action"; | |
| fi; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment