Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:unix:lab_skrypty_adv [2017/07/17 10:08] 127.0.0.1 edycja zewnętrzna |
pl:dydaktyka:unix:lab_skrypty_adv [2019/06/27 15:50] (aktualna) |
====== Pisanie skryptów Bash ====== | ====== Pisanie skryptów Bash ====== |
| |
| ===== DO PRZYGOTOWANIA ===== |
| Samodzielnie należy przed tym laboratorium przygotować: |
| |
| * podstawy pracy z wybranym edytorem vi, Emacs, nano, pico |
| * przypomnieć sobie artykuły pt.: {{:pl:dydaktyka:unix:gjn-sh.pdf|Podstawy programowania skryptów Sh}}, {{:pl:dydaktyka:unix:gjn-bash.pdf|GNU Bash więcej niż Sh}} |
| * przypomnieć sobie pracę z ''grep'' i wyrażeniami regularnymi, np.: |
| * http://www.linux.net.pl/~wkotwica/doc/grep/grep_7.html |
| * https://www.cyberciti.biz/faq/grep-regular-expressions/ |
| |
| Dodatkowo przeglądnąć (w celu ew. skorzystania w czasie zajęć): |
| |
| * zapoznać się z //[[http://www.tldp.org/guides.html#abs|Advanced Bash-Scripting Guide]]// |
| * przegląnąć artykuł (3 części) //Bash by example// [[http://www.ibm.com/developerworks/linux/library/l-bash/|część 1]], [[http://www.ibm.com/developerworks/library/l-bash2/|Część 2]], [[http://www.ibm.com/developerworks/library/l-bash3/|Część 3]] |
| * ew. przeglądnąć [[http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html|BASH Programming - Introduction]] |
| |
===== Ćwiczenie 1. Słownik krzyżówkowy ===== | ===== Ćwiczenie 1. Słownik krzyżówkowy ===== |
| |
Słownik do tego ćwiczenia znajduje się w pliku: ''/tmp/dictionary.txt''. | Słownik do tego ćwiczenia znajduje się w pliku: ''/tmp/dictionaryen.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.) 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.) Skrypt powinien sprawdzać, czy pobrane słowo nie zawiera niedozwolonych znaków (innych niż litery i kropki) i wyświetlić komunikat "Podano nieprawidłowe znaki". | - (1 pkt.) Skrypt powinien sprawdzać, czy pobrane słowo nie zawiera niedozwolonych znaków (innych niż litery i kropki) i wyświetlić komunikat "Podano nieprawidłowe znaki". |
| |
**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 ===== | ===== Ćwiczenie 2. Deszyfrator szyfru przestawieniowego ===== |
unjwbxej heyjwd hdkwd unsz yfpnj xfrj f ptqjosj yt uwejxzsnęhnj qnyjw b yjo bnfitrtśhn | 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''. | Bonus: (1 pkt.) Odgadnij 7-cyfrowy pin – sprawdź jego poprawność programem /tmp/checkpin np. echo 1234567 | /tmp/checkpin. |
| |
| |