Genialne skrypty powłoki. Ponad 100 rozwiązań dla systemów Linux, macOS i Unix - ebook
Genialne skrypty powłoki. Ponad 100 rozwiązań dla systemów Linux, macOS i Unix - ebook
101 skryptów, dzięki którym oszczędzisz czas i rozwiążesz problemy
Systemy uniksowe rozkwitają. W ciągu ostatnich kilkunastu lat pojawiły się przeróżne, stosunkowo proste w obsłudze dystrybucje Linuksa, firma Apple stworzyła OS X, łatwiejsze stało się również administrowanie systemem Unix. Olbrzymią karierę robi system Android — pod jego kontrolą pracują miliardy przeróżnych urządzeń. Istnieje wspólny element każdego z nich: powłoka Bourne, czyli bash. Okazuje się, że w czasach finezyjnych GUI umiejętność wykorzystania całej mocy skryptów powłoki jest bezcenna.
Niniejsza książka posłuży administratorom i użytkownikom systemów uniksowych, przyda się też programistom i analitykom danych. Znalazło się tu ponad sto świetnych skryptów, z których każdy można modyfikować wedle potrzeb. Omówiono tu również główne koncepcje skryptów, jednak nie zamieszczono analizy ich działania wiersz po wierszu. Zamiast tego pokazano mnóstwo niezwykle przydatnych sposobów automatyzacji różnych czynności związanych z zarządzaniem systemem. W każdym rozdziale opisano po kilka nowych funkcjonalności skryptów i przykładów ich zastosowania. Dodatkowo opisano proces instalacji powłoki bash w systemie Windows 10!
W tej książce między innymi:
- zwięzłe wprowadzenie do składni i zastosowań skryptów powłoki,
- narzędzia ułatwiające pisanie i sprawdzanie skryptów,
- skrypty do operacji na plikach, na kontach użytkowników i zasobach internetu,
- narzędzia dla webmasterów i administratorów serwerów WWW,
- skrypty dla macOS i ich możliwości,
- gry, praca w chmurze i przetwarzanie plików graficznych.
Dave Taylor zajmuje się informatyką od 1980 r. Jest jednym z twórców systemu BSD 4.4 Unix. Wszystkie najważniejsze dystrybucje Linuksa zawierają programy jego autorstwa. Taylor jest autorem licznych książek i artykułów w branżowych wydawnictwach informatycznych. Często bierze udział w seminariach.
Brandon Perry jest programistą. Jego przygoda z tworzeniem oprogramowania zaczęła się na początku XXI wieku, gdy opublikowano otwartą implementację projektu .NET Mono. W wolnym czasie tworzy moduły dla platformy Metasploit, analizuje pliki binarne i rozkłada na czynniki pierwsze różne aplikacje.
Skrypty powłoki: odkryj je na nowo!
Spis treści
Wprowadzenie (23)
- Czego się nauczysz (24)
- To jest książka dla Ciebie, jeżeli... (24)
- Struktura książki (25)
- Materiały w Internecie (28)
- Na koniec... (28)
0. Błyskawiczny kurs pisania skryptów (29)
- Czym w ogóle są skrypty powłoki? (29)
- Wykonywanie poleceń (31)
- Konfigurowanie skryptu logowania (32)
- Uruchamianie skryptów (33)
- Prostsze uruchamianie skryptów (35)
- Po co stosować skrypty powłoki? (36)
- Bierzmy się do dzieła (37)
1. Brakująca biblioteka kodu (39)
- Czym jest POSIX? (40)
- Skrypt 1. Wyszukiwanie programów w katalogach zmiennej PATH (41)
- Kod (41)
- Jak to działa? (43)
- Uruchomienie skryptu (43)
- Wyniki (44)
- Rozbudowa skryptu (44)
- Skrypt 2. Weryfikacja wprowadzanych danych: tylko litery i cyfry (45)
- Kod (45)
- Jak to działa? (46)
- Uruchomienie skryptu (46)
- Wyniki (47)
- Rozbudowa skryptu (47)
- Skrypt 3. Normalizacja formatów dat (48)
- Kod (48)
- Jak to działa? (49)
- Uruchomienie skryptu (49)
- Wyniki (50)
- Rozbudowa skryptu (50)
- Skrypt 4. Czytelne wyświetlanie dużych liczb (51)
- Kod (51)
- Jak to działa? (52)
- Uruchomienie skryptu (52)
- Wyniki (53)
- Rozbudowa skryptu (53)
- Skrypt 5. Weryfikacja poprawności liczb całkowitych (54)
- Kod (54)
- Jak to działa? (55)
- Uruchomienie skryptu (55)
- Wyniki (55)
- Rozbudowa skryptu (56)
- Skrypt 6. Weryfikacja poprawności liczb zmiennoprzecinkowych (56)
- Kod (57)
- Jak to działa? (58)
- Uruchomienie skryptu (58)
- Wyniki (59)
- Rozbudowa skryptu (59)
- Skrypt 7. Weryfikacja poprawności daty (59)
- Kod (60)
- Jak to działa? (62)
- Uruchomienie skryptu (62)
- Wyniki (62)
- Rozbudowa skryptu (63)
- Skrypt 8. Lepsza implementacja polecenia echo (63)
- Kod (64)
- Uruchomienie skryptu (65)
- Wyniki (65)
- Rozbudowa skryptu (65)
- Skrypt 9. Zmiennoprzecinkowy kalkulator o konfigurowanej dokładności (65)
- Kod (66)
- Jak to działa? (66)
- Uruchomienie skryptu (67)
- Wyniki (67)
- Skrypt 10. Blokowanie plików (67)
- Kod (69)
- Jak to działa? (70)
- Uruchomienie skryptu (70)
- Wyniki (70)
- Rozbudowa skryptu (71)
- Skrypt 11. Sekwencje kolorów ANSI (71)
- Kod (72)
- Jak to działa? (72)
- Uruchomienie skryptu (73)
- Wyniki (73)
- Rozbudowa skryptu (73)
- Skrypt 12. Tworzenie biblioteki skryptów powłoki (74)
- Kod (74)
- Jak to działa? (76)
- Uruchomienie skryptu (76)
- Wyniki (76)
- Skrypt 13. Diagnostyka skryptów powłoki (76)
- Kod (77)
- Jak to działa? (77)
- Uruchomienie skryptu (78)
- Wyniki (80)
- Rozbudowa skryptu (80)
2. Ulepszanie poleceń (81)
- Skrypt 14. Formatowanie długich wierszy tekstu (83)
- Kod (83)
- Jak to działa? (83)
- Uruchomienie skryptu (84)
- Wyniki (84)
- Skrypt 15. Tworzenie kopii zapasowych usuwanych plików (85)
- Kod (85)
- Jak to działa? (86)
- Uruchomienie skryptu (87)
- Wyniki (87)
- Rozbudowa skryptu (88)
- Skrypt 16. Korzystanie z archiwum usuniętych plików (88)
- Kod (88)
- Jak to działa? (90)
- Uruchomienie skryptu (92)
- Wyniki (92)
- Rozbudowa skryptu (92)
- Skrypt 17. Rejestrowanie usuwanych plików (93)
- Kod (93)
- Jak to działa? (93)
- Uruchomienie skryptu (94)
- Wyniki (94)
- Rozbudowa skryptu (94)
- Skrypt 18. Wyświetlanie zawartości katalogów (95)
- Kod (95)
- Jak to działa? (96)
- Uruchomienie skryptu (97)
- Wyniki (97)
- Rozbudowa skryptu (98)
- Skrypt 19. Wyszukiwanie plików według nazw (98)
- Kod (98)
- Jak to działa? (99)
- Uruchomienie skryptu (99)
- Wyniki (100)
- Rozbudowa skryptu (101)
- Skrypt 20. Emulowanie innych środowisk: MS-DOS (101)
- Kod (102)
- Jak to działa? (103)
- Uruchomienie skryptu (103)
- Wyniki (103)
- Rozbudowa skryptu (103)
- Skrypt 21. Wyświetlanie czasu w różnych strefach (104)
- Kod (104)
- Jak to działa? (106)
- Uruchomienie skryptu (107)
- Wyniki (107)
- Rozbudowa skryptu (107)
3. Tworzenie narzędzi (109)
- Skrypt 22. Notes (109)
- Kod (110)
- Jak to działa? (111)
- Uruchomienie skryptu (111)
- Wyniki (112)
- Rozbudowa skryptu (112)
- Skrypt 23. Interaktywny kalkulator (113)
- Kod (113)
- Jak to działa? (114)
- Uruchomienie skryptu (114)
- Wyniki (114)
- Rozbudowa skryptu (115)
- Skrypt 24. Przeliczanie temperatur (115)
- Kod (115)
- Jak to działa? (116)
- Uruchomienie skryptu (117)
- Wyniki (117)
- Rozbudowa skryptu (118)
- Skrypt 25. Obliczanie rat kredytu (118)
- Kod (118)
- Jak to działa? (119)
- Uruchomienie skryptu (119)
- Wyniki (119)
- Rozbudowa skryptu (120)
- Skrypt 26. Rejestrowanie terminów (120)
- Kod (121)
- Jak to działa? (123)
- Uruchomienie skryptu (124)
- Wyniki (124)
- Rozbudowa skryptu (126)
4. Regulowanie systemu Unix (127)
- Skrypt 27. Wyświetlanie zawartości plików wraz z numerami wierszy (128)
- Kod (128)
- Jak to działa? (128)
- Uruchomienie skryptu (129)
- Wyniki (129)
- Rozbudowa skryptu (129)
- Skrypt 28. Zawijanie tylko długich wierszy (129)
- Kod (130)
- Jak to działa? (130)
- Uruchomienie skryptu (131)
- Wyniki (131)
- Skrypt 29. Wyświetlanie zawartości pliku wraz z dodatkowymi informacjami (131)
- Kod (132)
- Jak to działa? (132)
- Uruchomienie skryptu (133)
- Wyniki (133)
- Skrypt 30. Emulowanie argumentów GNU w poleceniu quota (133)
- Kod (133)
- Jak to działa? (134)
- Uruchomienie skryptu (134)
- Wyniki (134)
- Skrypt 31. Upodobnienie polecenia sftp do ftp (135)
- Kod (135)
- Jak to działa? (136)
- Uruchomienie skryptu (136)
- Wyniki (136)
- Rozbudowa skryptu (137)
- Skrypt 32. Korekta polecenia grep (137)
- Kod (138)
- Jak to działa? (139)
- Uruchomienie skryptu (140)
- Wyniki (140)
- Rozbudowa skryptu (140)
- Skrypt 33. Praca ze skompresowanymi plikami (140)
- Kod (140)
- Jak to działa? (142)
- Uruchomienie skryptu (142)
- Wyniki (142)
- Rozbudowa skryptu (143)
- Skrypt 34. Maksymalna kompresja plików (143)
- Kod (144)
- Jak to działa? (145)
- Uruchomienie skryptu (145)
- Wyniki (145)
5. Administrowanie systemem: zarządzanie użytkownikami (147)
- Skrypt 35. Analiza miejsca na dysku (149)
- Kod (149)
- Jak to działa? (149)
- Uruchomienie skryptu (150)
- Wyniki (150)
- Rozbudowa skryptu (151)
- Skrypt 36. Identyfikacja użytkowników przekraczających limit miejsca na dysku (151)
- Kod (151)
- Jak to działa? (152)
- Uruchomienie skryptu (152)
- Wyniki (152)
- Rozbudowa skryptu (153)
- Skrypt 37. Poprawienie czytelności wyniku polecenia df (153)
- Kod (153)
- Jak to działa? (154)
- Uruchomienie skryptu (154)
- Wyniki (155)
- Rozbudowa skryptu (155)
- Skrypt 38. Sprawdzanie ilości dostępnego miejsca na dyskach (156)
- Kod (156)
- Jak to działa? (157)
- Uruchomienie skryptu (157)
- Wyniki (157)
- Rozbudowa skryptu (157)
- Skrypt 39. Bezpieczny skrypt locate (157)
- Kod (158)
- Jak to działa? (160)
- Uruchomienie skryptu (160)
- Wyniki (161)
- Rozbudowa skryptu (161)
- Skrypt 40. Dodawanie konta użytkownika (162)
- Kod (162)
- Jak to działa? (163)
- Uruchomienie skryptu (164)
- Wyniki (164)
- Rozbudowa skryptu (164)
- Skrypt 41. Blokowanie konta użytkownika (165)
- Kod (165)
- Jak to działa? (166)
- Uruchomienie skryptu (166)
- Wyniki (166)
- Skrypt 42. Usuwanie konta użytkownika (167)
- Kod (167)
- Jak to działa? (168)
- Uruchomienie skryptu (169)
- Wyniki (169)
- Rozbudowa skryptu (169)
- Skrypt 43. Weryfikacja środowiska użytkownika (170)
- Kod (170)
- Jak to działa? (171)
- Uruchomienie skryptu (172)
- Wyniki (172)
- Skrypt 44. Sprzątanie po odejściu gości (173)
- Kod (173)
- Jak to działa? (174)
- Uruchomienie skryptu (174)
- Wyniki (174)
6. Zarządzanie systemem: operacje utrzymaniowe (175)
- Skrypt 45. Kontrolowanie poleceń z atrybutem setuid (176)
- Kod (177)
- Jak to działa? (177)
- Uruchomienie skryptu (178)
- Wyniki (178)
- Skrypt 46. Ustawianie daty systemowej (178)
- Kod (179)
- Jak to działa? (180)
- Uruchomienie skryptu (180)
- Wyniki (180)
- Skrypt 47. Przerywanie procesu o zadanej nazwie (181)
- Kod (182)
- Jak to działa? (183)
- Uruchomienie skryptu (183)
- Wyniki (184)
- Rozbudowa skryptu (184)
- Skrypt 48. Weryfikacja poprawności pliku programu cron (184)
- Kod (185)
- Jak to działa? (188)
- Uruchomienie skryptu (189)
- Wyniki (189)
- Rozbudowa skryptu (189)
- Skrypt 49. Wykonywanie zadań systemowych programu cron (190)
- Kod (190)
- Jak to działa? (191)
- Uruchomienie skryptu (192)
- Wyniki (192)
- Rozbudowa skryptu (192)
- Skrypt 50. Cykliczne zmienianie plików dzienników (193)
- Kod (193)
- Jak to działa? (196)
- Uruchomienie skryptu (196)
- Wyniki (196)
- Rozbudowa skryptu (197)
- Skrypt 51. Tworzenie zapasowych kopii plików (197)
- Kod (197)
- Jak to działa? (199)
- Uruchomienie skryptu (199)
- Wyniki (199)
- Skrypt 52. Tworzenie zapasowych kopii katalogów (200)
- Kod (200)
- Jak to działa? (201)
- Uruchomienie skryptu (201)
- Wyniki (202)
7. Użytkownicy sieci WWW i Internetu (203)
- Skrypt 53. Pobieranie plików za pomocą programu ftp (204)
- Kod (205)
- Jak to działa? (205)
- Uruchomienie skryptu (206)
- Wyniki (206)
- Rozbudowa skryptu (207)
- Skrypt 54. Wyodrębnianie adresów URL ze strony WWW (208)
- Kod (208)
- Jak to działa? (209)
- Uruchomienie skryptu (209)
- Wyniki (209)
- Rozbudowa skryptu (211)
- Skrypt 55. Uzyskiwanie informacji o użytkowniku serwisu GitHub (211)
- Kod (211)
- Jak to działa? (212)
- Uruchomienie skryptu (212)
- Wyniki (212)
- Rozbudowa skryptu (212)
- Skrypt 56. Wyszukiwanie kodów pocztowych (213)
- Kod (213)
- Jak to działa? (213)
- Uruchomienie skryptu (214)
- Wyniki (214)
- Rozbudowa skryptu (214)
- Skrypt 57. Wyszukiwanie kierunkowych numerów telefonicznych (214)
- Kod (215)
- Jak to działa? (215)
- Uruchomienie skryptu (215)
- Wyniki (216)
- Rozbudowa skryptu (216)
- Skrypt 58. Informacje o pogodzie (216)
- Kod (216)
- Jak to działa? (217)
- Uruchomienie skryptu (217)
- Wyniki (218)
- Rozbudowa skryptu (218)
- Skrypt 59. Uzyskiwanie informacji o filmie z bazy IMDb (218)
- Kod (218)
- Jak to działa? (220)
- Uruchomienie skryptu (221)
- Wyniki (221)
- Rozbudowa skryptu (221)
- Skrypt 60. Przeliczanie walut (222)
- Kod (222)
- Jak to działa? (223)
- Uruchomienie skryptu (223)
- Wyniki (223)
- Rozbudowa skryptu (224)
- Skrypt 61. Uzyskiwanie informacji o adresie bitcoin (224)
- Kod (224)
- Jak to działa? (225)
- Uruchomienie skryptu (225)
- Wyniki (225)
- Rozbudowa skryptu (226)
- Skrypt 62. Śledzenie zmian na stronach WWW (226)
- Kod (226)
- Jak to działa? (228)
- Uruchomienie skryptu (228)
- Wyniki (229)
- Rozbudowa skryptu (229)
8. Sztuczki webmastera (231)
- Uruchamianie skryptów opisanych w tym rozdziale (233)
- Skrypt 63. Wyświetlanie informacji o środowisku CGI (234)
- Kod (234)
- Jak to działa? (234)
- Uruchomienie skryptu (234)
- Wyniki (235)
- Skrypt 64. Rejestrowanie zdarzeń WWW (235)
- Kod (236)
- Jak to działa? (237)
- Uruchomienie skryptu (237)
- Wyniki (238)
- Rozbudowa skryptu (238)
- Skrypt 65. Dynamiczne tworzenie stron WWW (239)
- Kod (239)
- Jak to działa? (240)
- Uruchomienie skryptu (240)
- Wyniki (240)
- Rozbudowa skryptu (240)
- Skrypt 66. Przesyłanie stron WWW w wiadomościach e-mail (241)
- Kod (241)
- Jak to działa? (242)
- Uruchomienie skryptu (242)
- Wyniki (242)
- Rozbudowa skryptu (243)
- Skrypt 67. Internetowy album zdjęć (243)
- Kod (243)
- Jak to działa? (244)
- Uruchomienie skryptu (244)
- Wyniki (244)
- Rozbudowa skryptu (245)
- Skrypt 68. Wyświetlanie losowych napisów (246)
- Kod (246)
- Jak to działa? (247)
- Uruchomienie skryptu (247)
- Wyniki (247)
- Rozbudowa skryptu (247)
9. Administrowanie stronami WWW i danymi w Internecie (249)
- Skrypt 69. Wyszukiwanie błędnych odnośników wewnętrznych (250)
- Kod (250)
- Jak to działa? (251)
- Uruchomienie skryptu (251)
- Wyniki (251)
- Rozbudowa skryptu (252)
- Skrypt 70. Wyszukiwanie błędnych odnośników zewnętrznych (253)
- Kod (253)
- Jak to działa? (254)
- Uruchomienie skryptu (254)
- Wyniki (255)
- Skrypt 71. Zarządzanie hasłami do serwera Apache (255)
- Kod (256)
- Jak to działa? (259)
- Uruchomienie skryptu (261)
- Wyniki (261)
- Rozbudowa skryptu (262)
- Skrypt 72. Synchronizacja plików z serwerem FTP (262)
- Kod (263)
- Jak to działa? (264)
- Uruchomienie skryptu (264)
- Wyniki (264)
- Rozbudowa skryptu (265)
10. Administrowanie serwerami internetowymi (267)
- Skrypt 73. Analiza pliku access_log serwera Apache (267)
- Kod (269)
- Jak to działa? (270)
- Uruchomienie skryptu (271)
- Wyniki (271)
- Rozbudowa skryptu (272)
- Skrypt 74. Analiza zapytań wyszukiwarek (272)
- Kod (272)
- Jak to działa? (273)
- Uruchomienie skryptu (274)
- Wyniki (274)
- Rozbudowa skryptu (274)
- Skrypt 75. Analiza pliku error_log serwera Apache (275)
- Kod (276)
- Jak to działa? (278)
- Uruchomienie skryptu (278)
- Wyniki (278)
- Skrypt 76. Zapobieganie katastrofom poprzez tworzenie zewnętrznego archiwum plików (279)
- Kod (280)
- Jak to działa? (280)
- Uruchomienie skryptu (281)
- Wyniki (281)
- Rozbudowa skryptu (281)
- Skrypt 77. Monitorowanie stanu sieci (282)
- Kod (283)
- Jak to działa? (286)
- Uruchomienie skryptu (287)
- Wyniki (288)
- Rozbudowa skryptu (289)
- Skrypt 78. Zmienianie priorytetu procesu o zadanej nazwie (289)
- Kod (289)
- Jak to działa? (291)
- Uruchomienie skryptu (291)
- Wyniki (291)
- Rozbudowa skryptu (292)
11. Skrypty w systemie macOS (293)
- Skrypt 79. Automatyczne zrzuty ekranu (295)
- Kod (296)
- Jak to działa? (296)
- Uruchomienie skryptu (297)
- Wyniki (297)
- Rozbudowa skryptu (297)
- Skrypt 80. Dynamiczne ustawianie tytułu okna terminala (298)
- Kod (298)
- Jak to działa? (298)
- Uruchomienie skryptu (298)
- Wyniki (299)
- Rozbudowa skryptu (299)
- Skrypt 81. Lista zawartości biblioteki iTunes (299)
- Kod (300)
- Jak to działa? (300)
- Uruchomienie skryptu (301)
- Wyniki (301)
- Rozbudowa skryptu (301)
- Skrypt 82. Ulepszone polecenie open (301)
- Kod (302)
- Jak to działa? (302)
- Uruchomienie skryptu (303)
- Wyniki (303)
- Rozbudowa skryptu (303)
12. Skrypty do gier i zabawy (305)
- Skrypt 83. Gra słowna: anagramy (307)
- Kod (307)
- Jak to działa? (308)
- Uruchomienie skryptu (309)
- Wyniki (309)
- Rozbudowa skryptu (309)
- Skrypt 84. Wisielec: odgadnij słowo, zanim będzie za późno (310)
- Kod (310)
- Jak to działa? (312)
- Uruchomienie skryptu (312)
- Wyniki (312)
- Rozbudowa skryptu (313)
- Skrypt 85. Quiz: stolice państw (314)
- Kod (314)
- Jak to działa? (315)
- Uruchomienie skryptu (315)
- Wyniki (316)
- Rozbudowa skryptu (316)
- Skrypt 86. Czy to jest liczba pierwsza? (317)
- Kod (317)
- Jak to działa? (318)
- Uruchomienie skryptu (318)
- Wyniki (318)
- Rozbudowa skryptu (319)
- Skrypt 87. Rzucamy kośćmi (319)
- Kod (319)
- Jak to działa? (320)
- Uruchomienie skryptu (321)
- Rozbudowa skryptu (322)
- Skrypt 88. Acey Deucey (322)
- Kod (323)
- Jak to działa? (327)
- Uruchomienie skryptu (329)
- Wyniki (329)
- Rozbudowa skryptu (330)
13. Praca w chmurze (331)
- Skrypt 89. Utrzymywanie Dropboksa w działaniu (332)
- Kod (332)
- Jak to działa? (332)
- Uruchomienie skryptu (333)
- Wyniki (333)
- Rozbudowa skryptu (333)
- Skrypt 90. Synchronizowanie plików z systemem Dropbox (333)
- Kod (333)
- Jak to działa? (335)
- Uruchomienie skryptu (335)
- Wyniki (335)
- Rozbudowa skryptu (336)
- Skrypt 91. Tworzenie pokazu slajdów z serii zdjęć w chmurze (336)
- Kod (337)
- Jak to działa? (337)
- Uruchomienie skryptu (338)
- Wyniki (338)
- Rozbudowa skryptu (338)
- Skrypt 92. Synchronizowanie plików z Google Drive (339)
- Kod (339)
- Jak to działa? (340)
- Uruchomienie skryptu (340)
- Wyniki (340)
- Rozbudowa skryptu (341)
- Skrypt 93. Mówi komputer... (341)
- Kod (342)
- Jak to działa? (343)
- Uruchomienie skryptu (344)
- Wyniki (344)
- Rozbudowa skryptu (344)
14. ImageMagick i praca z plikami graficznymi (345)
- Skrypt 94. Udoskonalony analizator wielkości obrazów (346)
- Kod (346)
- Jak to działa? (346)
- Uruchomienie skryptu (347)
- Wyniki (347)
- Rozbudowa skryptu (348)
- Skrypt 95. Znaki wodne (348)
- Kod (348)
- Jak to działa? (349)
- Uruchomienie skryptu (350)
- Wyniki (350)
- Rozbudowa skryptu (351)
- Skrypt 96. Oprawianie w ramki (351)
- Kod (351)
- Jak to działa? (353)
- Uruchomienie skryptu (353)
- Wyniki (353)
- Rozbudowa skryptu (354)
- Skrypt 97. Tworzenie miniatur (354)
- Kod (355)
- Jak to działa? (356)
- Uruchomienie skryptu (357)
- Wyniki (357)
- Rozbudowa skryptu (358)
- Skrypt 98. Interpretacja informacji GPS (358)
- Kod (358)
- Jak to działa? (359)
- Uruchomienie skryptu (360)
- Wyniki (360)
- Rozbudowa skryptu (360)
15. Dni i daty (361)
- Skrypt 99. Określanie dnia tygodnia dla zadanej daty w przeszłości (362)
- Kod (362)
- Jak to działa? (363)
- Uruchomienie skryptu (363)
- Rozbudowa skryptu (364)
- Skrypt 100. Określanie liczby dni pomiędzy dwiema datami (364)
- Kod (364)
- Jak to działa? (366)
- Uruchomienie skryptu (367)
- Rozbudowa skryptu (367)
- Skrypt 101. Określenie liczby dni pozostałych do...
Kategoria: | Systemy operacyjne |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-3431-1 |
Rozmiar pliku: | 4,9 MB |