Praktyczne zadania do nauki pisania skryptów powłoki [zamknięte]


12

Szukam niektórych typowych problemów w administracji systemem unix i sposobów, w jakie skrypty powłoki mogą je rozwiązać. Całkowicie do celów samokształcenia. Chciałbym również wiedzieć, jak poszedłbyś na temat uczenia się skryptów powłoki.

Odpowiedzi:


15

Za każdym razem, gdy NIGDY nie zauważysz, że robisz coś wiele razy, napisz to. Myśl tak leniwie, jak to tylko możliwe. Komputery zostały zbudowane z myślą o tych wszystkich bzdurach. Każda rzecz, która pachnie jak zajęta praca, potrzebuje skryptu powłoki.

Osobiście nauczyłem się, grzebiąc w Slackware przez kilka lat. Zobacz, co się stanie, gdy maksymalnie rozebrzesz system. Naucz się wygodnego korzystania z tekstu. Podczas gdy wszyscy inni patrzą na NetworkManagera, dowiedz się, jak łatwo jest stworzyć własnego cholernego NetworkManagera. Jasne, może nie mieć tak wielu przypadków użycia, ale możesz uruchomić coś, dynamicznie łącząc się za pośrednictwem sieci Ethernet i bezprzewodowej na żądanie.


6

Chciałbym ponownie zarekomendować trzy książki, które zasugerowałem w innym wątku, są to moim zdaniem najlepsze książki, które mogą wpaść w ducha Uniksa:

  • Unixowe środowisko programistyczne Kernighan i Pike
  • Unix dla niecierpliwych
  • Narzędzia elektryczne Unix firmy O'Reilly.

Pierwszy jest stary, bardzo stary, ale jest zwięzły, krótka lektura i da ci potrzebne powłoki (wyrażenia regularne, sed, potoki).

Drugi jest niezwykle zabawny.

Trzeci to zbiór „najlepszych” sztuczek od mistrzów unixowych lat 90-tych (to jest, kiedy to czytam). Książka jest ciągle edytowana, więc jestem pewien, że zawiera wiele nowych samorodków.


+1 dla środowiska programistycznego Unix. Po przeczytaniu tego nagle Unix stał się dla mnie o wiele bardziej sensowny. Trochę rewelacji :-)
dr-Jan

Unix Programming Environment jest jedną z niewielu książek, które w ogóle obejmują „tutaj dokumenty”. Możesz zrobić wiele z „tutaj dokumentami”, których wielu uważa za niemożliwe w jednym pliku.
Bruce Ediger,


2

Jak się tego nauczyć: Zakochaj się w wierszu poleceń. Używaj go regularnie i często podnoś strony podręcznika. Często nawet. Kiedy po raz pierwszy uczyłem się skryptów, nie mogłem policzyć, ile razy pisałem man bash. Nie mogłem też policzyć, ile razy wyświetlałem stronę podręcznika użytkownika dla innego polecenia.


1
+1 do Kevina. Nauczyłem się skryptowania w ten sam sposób. Scenariusz zazwyczaj polega na tym, że musiałbym przetwarzać te pliki danych COBOL (tak, daleko wstecz ... ale to jest COBOL w systemie UNIX, a nie w komputerach mainframe !!). Zamiast rozkręcać kod COBOL, uruchomiłbym awk (nawet perla, ponieważ nie został zainstalowany na naszym serwerze) i

Używam xterm(lub dowolnego terminala, jeśli to ma znaczenie) jako mojego głównego menedżera plików. W ten sposób zmusiłem się do używania powłoki ALL przez cały czas, co sprawiło, że z czasem nauczyłem się i rozwijałem pewne sztuczki.
Denilson Sá Maia,

2

Nauczyłem się tego pisząc narzędzie do monitorowania. Łączyłby się z wieloma maszynami przez ssh i gromadziłby dane, takie jak czas pracy, ładowanie, liczba aktywnych połączeń, wykorzystanie pamięci i tym podobne. Na mojej lokalnej maszynie pokazywałbym te dane jako tabelę tekstową.


1

Po drugie zalecam Miguela „Środowisko programowania w Uniksie”. Jest naprawdę stary, ale dzięki temu nauczyłem się prawie wszystkiego, co wiem o powłoce, a ponieważ jest tak stary, że możesz go zdobyć za kilka dolarów na Amazon: http://is.gd/eiSn6


0

Znajdź książkę lub instrukcję i traktuj wybraną powłokę jak język programowania, ponieważ tak jest. (Cóż, może nie csh ...)

Na początek dowiedz się, jak dowiedzieć się, czy jesteś w powłoce Bash, powłoce Bourne'a, csh, zsh lub cokolwiek innego. Niektóre z nich są podobne do siebie, jak C i C ++ - zwodniczo różne - więc wiedza, z którą walczysz, pomoże ci znaleźć przykłady i instrukcje, które faktycznie pomogą w danej sytuacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.