To jest stara wersja strony!
Pisanie skryptów Bash
Ćwiczenie 1. Słownik krzyżówkowy
Słownik do tego ćwiczenia znajduje się w pliku: /tmp/dictionary.txt
.
(1 pkt.) Proszę napisać skrypt, który dla słowa podanego jako argument, w którym dowolne znaki wstawiamy jako “.”, wyświetli znalezione dopasowania ze słownika.
np. dla: ./skrypt b.eb..
znalezionym dopasowaniem mogłoby być bieber
.
(1 pkt.) W przypadku, gdy nie podamy słowa, skrypt powinien wypisać komunikat “Nie podano słowa”.
(1 pkt.) W przypadku, gdy nie podamy słowa, skrypt powinien ponadto poprosić użytkownika o wprowadzenie słowa i pobrać od niego to słowo.
(1 pkt.) Skrypt powinien sprawdzać, czy pobrane słowo nie zawiera niedozwolonych znaków.
Bonus:
(1 pkt.) Odgadnij hasło i sprawdź je przy użyciu /tmp/checkpassword
. Listę haseł do sprawdzenia można wysłać np. przy użyciu:
cat /tmp/dictionary.txt | /tmp/checkpassword
.
Podpowiedź do hasła: Kończy sie na „us”, ma 7 liter, nie zaczyna się na literę z pierwszej połowy alfabetu, a nazwę kojarzy każdy, kto był w Hong Kongu.
Ćwiczenie 2. Deszyfrator szyfru przestawieniowego
Słownik do tego ćwiczenia znajduje się w pliku: /tmp/slownikpl.txt
.
(1 pkt.) Napisz skrypt, który odszyfruje wiadomość zaszyfrowaną ROT13: wrqan m plse cvah gb fvrqrz
(1 pkt.) Napisz skrypt, który odszyfruje poniższą wiadomość zaszyfrowaną analogicznym szyfrem przestawieniowym, ale z inną liczbą przesunięcia. Skrypt powinien odgadnąć liczbę automatycznie, na podstawie tego, czy słowa z wiadomości występują w słowniku /tmp/slownikpl.txt
.
unjwbxej heyjwd hdkwd unsz yfpnj xfrj f ptqjosj yt uwejxzsnęhnj qnyjw b yjo bnfitrtśhn
Bonus: (1 pkt.) Odgadnij pin – sprawdź jego poprawność programem /tmp/checkpin
np. echo 12345 | /tmp/checkpin
.
Ćwiczenie 3. Kreator krzyżówek
Słownik do tego ćwiczenia znajduje się w pliku: /tmp/krzyzowkowe.txt
.
(1 pkt.) Proszę napisać skrypt, który wylosuje dowolne hasło ze słownika.
(1 pkt.) Skrypt powinien losować hasło tak długo, aż znajdzie hasło nie krótsze niż 8 liter, przy czym losowanie hasła powinno odbywać się w osobnej funkcji.
(1 pkt.) Dla ustalonego hasła skrypt następnie losuje hasła dodatkowe zaczynające się od każdej z liter hasła głównego.
Przykład: dla hasła głównego „kawa”, program może wylosować hasła dodatkowe:
|k|orniszon
|a|rtefakt
|w|oda
|a|zymut
|_|_|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|_|
|_|_|_|_|_ _
|_|_|_|_|_|_|