Shell, Bash i Scripts: wszystko o skryptach powłoki.

W tej nowej możliwości (wpis nr 8) na „Naucz się skryptów powłoki” skupimy się bardziej na teorii niż praktyce. to znaczy, nie będziemy instalować ani studiować kodu ani instalować określonego oprogramowania (pakietu), ale zagłębimy się w świat Skrypty powłoki właściwie mówiąc, poprzez odpowiedzi na małe, ale bezpośrednie pytania, które są pokazane poniżej, wyjaśnić jak dotąd wiele z tego, czego nauczono, co nie odnosi się bezpośrednio do zaprogramowanego kodu wewnętrznego:

Skrypty powłoki

Co to jest powłoka w systemie operacyjnym GNU / Linux?

Muszla, która po hiszpańsku oznacza CONCHA (powłoka, osłona, ochrona). Termin stosowany w systemach operacyjnych odnosi się do interpretera poleceń systemu operacyjnego. Ogólnie jest to wydajny interfejs tekstowy, przejawiający się w postaci terminala (konsoli) i zasadniczo używany w 3 ważnych obszarach roboczych:

1. - Zarządzaj systemem operacyjnym,
2.- Uruchamiaj aplikacje i współpracuj z nimi oraz
3.- Służą jako podstawowe środowisko programistyczne.

Wiele SO, GNU / Linux są one nadal efektywniej zarządzane poprzez edycję ich plików konfiguracyjnych za pośrednictwem terminala. Z reguły na ścieżce docelowej znajdują się: «/itp"oraz w określonych katalogach dla każdej aplikacji. Na przykład program lilo (co oznacza Linux Loader) jest konfigurowany poprzez edycję pliku tekstowego znajdującego się i nazywanego jako „/Etc/lilo/lilo.conf”. W przypadku programów (aplikacji) są one uruchamiane (wykonywane / aktywowane) poprzez wpisanie nazwy pliku wykonywalnego, jeśli znajduje się on w ścieżce (ścieżka domyślna) dla wszystkich plików wykonywalnych, tak jak zwykle „/ Usr / bin” lub wpisując nazwę pliku wykonywalnego poprzedzoną: ./, z katalogu, w którym się znajdują.

Wszystko to jest dobrze znane każdemu użytkownikowi Shell. Jednak nie tak dobrze znane i doceniane są jego możliwości jako środowiska programistycznego. Skrypty (programy) wykonane w powłoce nie wymagają kompilacji. Powłoka interpretuje je wiersz po wierszu. Dlatego są one znane lub nazywane skryptami powłoki i mogą obejmować od prostych poleceń do złożonych serii instrukcji dotyczących uruchamiania samego systemu operacyjnego. mieć dość czystą (oczywistą) składnię (konstrukcja, porządek), co czyni je dobrym punktem wyjścia do rozpoczęcia nauki w świecie programowania.

Co to są skrypty powłoki?

Jest to technika (umiejętność / umiejętność) projektowania i tworzenia skryptu (pliku automatyzacji zadań) przy użyciu powłoki (najlepiej) systemu operacyjnego lub edytora tekstu (grafiki lub terminala). Jest to typ języka programowania, który jest ogólnie interpretowany. Oznacza to, że podczas gdy większość programów jest kompilowana (kodowana), ponieważ są one trwale konwertowane do określonego (specjalnego) kodu, zanim będą mogły zostać wykonane (proces kompilacji), skrypt powłoki pozostaje w swojej pierwotnej formie (źródło tekstu kodu) i jest interpretowane polecenie za poleceniem za każdym razem, gdy są wykonywane. Chociaż jest możliwe, że skrypty można również skompilować, chociaż nie jest to normalne.

Jakie są cechy programów opartych na programowaniu w skryptach powłoki?

1.- Są łatwiejsze do napisania (programu), ale mają wyższy koszt przetwarzania, gdy są wykonywane.

2.- Używają do działania interpreterów zamiast kompilatorów

3.- Mają związek komunikacyjny z komponentami napisanymi w innych językach programowania.

4. - Pliki, które je zawierają, są przechowywane jako zwykły tekst.

5.- Ostateczny projekt (kod) jest zwykle mniejszy niż jego odpowiednik w skompilowanym języku programowania.

Jakie są najpopularniejsze typy języków w skryptach powłoki?

1. - Język kontroli zadań i powłoki:

a) cmd.exe (Windows NT, Windows CE, OS / 2),
b) COMMAND.COM (DOS, Windows 9x),
c) csh, Bash, AppleScript, sh,
d) JScript za pośrednictwem hosta skryptów systemu Windows,
e) VBScript za pośrednictwem hosta skryptów systemu Windows,
f) REXX, między innymi.

2.- Skrypty GUI (języki makr):

a) Autoskrót klawiszowy,
Arlene Charles
c) spodziewać się,
d) Automator m.in.

3.- Język skryptowy dla określonych aplikacji:

a) ActionScript we Flashu,
b) MATLABA,
c) skrypt mIRC,
d) QuakeC, między innymi.

4.- Programowanie internetowe (dla stron dynamicznych):

a) Po stronie serwera:

- PHP,
- ASP (Active Server Pages),
- JavaServer Pages,
- Zimna fuzja,
- IPTSCRAE,
- Lasso,
- skrypt MIVA,
- SMX,
- między innymi XSLT.

b) Po stronie klienta:

- JavaScript,
- JScript,
- VBScript,
- między innymi Tcl.

5.- Języki edytora tekstu:

- AWK,
- Perl,
- pragnienie,
- XSLT,
- między innymi Bash.

6. - Dynamiczne języki ogólnego przeznaczenia:

- APL,
- Boo,
- Dylan,
- feryt,
- Groovy,
- IO,
- Lisp,
- Lua,
- ŚWINKI (M),
- NewLISP,
- Nuva,
- Perl,
- PHP,
- Python,
- Rubinowy,
- Schemat,
- Pogawędka,
- SuperCard,
- Tcl,
- Rewolucja m.in.

Co to jest Bash w systemie GNU / Linux?

Jest to program komputerowy, którego funkcją jest interpretacja poleceń. Opiera się na Powłoka systemu Unix i obsługuje POSIX. Został napisany dla projektu GNU i jest domyślną powłoką dla większości dystrybucji Linuksa.

Co to jest skrypt powłoki w systemie GNU / Linux?

Skrypty powłoki są niezwykle przydatne. Dobrze jest napisać te potrzeby, które mamy, a następnie edytować skrypty, które wykonują tę pracę za nas. Pora zadać sobie pytanie, czym właściwie jest skrypt. Jest to plik tekstowy zawierający serię poleceń powłoki, które system wykonuje w uporządkowany sposób, od góry do dołu. Aby je edytować, potrzebujesz tylko edytora tekstu, takiego jak Emacs, Vi, Nano, spośród wielu istniejących. Są one zapisywane z rozszerzeniem „.sh” (lub w niektórych przypadkach bez niego) i uruchamiane z powłoki za pomocą polecenia: sh nazwa skryptu.sh. Skrypty zachowują się tak samo, jak polecenia powłoki.

Podejście do nauczania, którego osobiście używam „Naucz się skryptów powłoki” Jest to bardzo praktyczne i bezpośrednie, to znaczy zbadać w pełni funkcjonalny skrypt, rozłożyć go, przestudiować zdanie po zdaniu, wiersz po wierszu, polecenie po poleceniu, zmienna po zmiennej, dopóki nie zrozumiesz, jak każdy element działa oddzielnie i jak się angażuje w kodzie ogólnym. To trochę Inżynieria odwrotna lub reengineering oprogramowania. Wszystko po to, aby przyswajać wiedzę, ulepszać ją (optymalizować) i dzielić się nią z korzyścią zbiorową oraz lepszą administracją i optymalizacją darmowych systemów operacyjnych.

Jak to działa i działa w powłoce GNU / Linux?

Pierwszym krokiem w pracy z powłoką jest uruchomienie powłoki. To, co wydaje się truizmem, ma swoje uzasadnienie. W niektórych dystrybucjach GNU / Linuksa zorientowanych na użytkownika końcowego powłoka jest dość ukryta. Zwykle nazywa się: Konsola, Terminal, X Terminal lub coś podobnego. Inną opcją jest użycie wirtualnej konsoli. Używając: Ctrl + Alt + f1 lub f2, lub f3 do f7 lub f8, w zależności od używanej dystrybucji GNU / Linux. Najczęściej używaną powłoką w systemie GNU / Linux jest Bash, chociaż istnieją inne, takie jak ksh lub C Shell. W moim przypadku szczególnie do moich publikacji używam Bash Shell.

Biorąc pod uwagę skrypt wykonany w Bash Shell o nazwie hello_world.sh można wyjaśnić co następuje:

Zawartość:

#! / bin / bash
echo witaj świecie

Awaria:

Pierwsza linia skryptu
#! / bin / bash

Wskazuje program, który powinien uruchomić skrypt. Jeśli nie można znaleźć programu, wystąpi błąd.

Druga linia skryptu
echo witaj świecie

Wykonaj polecenie echo z argumentami Hello World, powodując ich wyświetlenie na ekranie.

Wykonanie: Skrypt możemy uruchomić na dwa sposoby

Wywołanie interpretera w celu uruchomienia skryptu:
# bash hello_world.sh

Można go również uruchomić jako:
# sh hello_world.sh

Ale ponieważ twoja właściwa powłoka nie jest wywoływana, może działać w połowie. W idealnym przypadku powłoka wywołana w pierwszej linii jest tą, która jest używana do jej wykonania.

Możesz również uruchomić skrypt bezpośrednio w następujący sposób:
# ./hello_world.sh

Uwaga: ./ oznacza uruchomienie z bieżącego katalogu.

Reszta tego, co pozostaje do przeanalizowania, to kod, który do niego wstawisz. Mam nadzieję, że jak zwykle przypadnie Ci do gustu (niektórym bardziej niż innym, w zależności od potrzeb uczenia się i wiedzy) ta seria Skrypty powłoki.

W sieci jest wiele dobrych linków na ten temat, ale zostawiam wam ten mały przewodnik, który znajduje się tutaj, pod adresem DesdeLinux. Netto I ten inny Przewodnik zewnętrzny.

Do następnego postu!


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   d4ny powiedział

    Lilo .. Linux Loader .. reszta bardzo dobre info .. dzięki .. salu2 d4ny.-

  2.   Inż. Jose Albert powiedział

    Pozdrowienia dla wszystkich, którzy biorą udział w kursie online „Naucz się skryptów powłoki”, wkrótce będziemy kontynuować inne podstawowe skrypty, aby nadal przyswajać wiedzę i nadal udzielać jej wszystkim innym.

    Mam nadzieję, że będziecie na bieżąco, ponieważ wkrótce zacznę od bardziej zaawansowanych kodów, ale wyeksponowanych w sposób wizualnie zrozumiały pomimo jego złożoności.

    Pamiętaj, że dzięki skryptom powłoki możesz wykonywać wiele złożonych rzeczy, które są wieloplatformowe (różne dystrybucje) przy użyciu bardzo małych plików. Zostawię wam ten mały screencast z czymś, czego wkrótce was nauczę, tym, którzy będą kontynuować oglądanie kursu, a przy zaledwie 50Kb obiecuje wiele! A to tylko połowa tego, co można zrobić za pomocą skryptów powłoki.

    Test LPI-SB8 ScreenCast (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    Zobacz zrzut ekranu: https://www.youtube.com/watch?v=cWpVQcbgCyY

    1.    Alberto cardona powiedział

      Witam, Wasz wkład jest niesamowity, bardzo dziękuję !!
      Mam małe wątpliwości, czy mogę zaprogramować kompilator z bash?
      Albo przynajmniej analizator leksykalny?
      ma taką moc?

  3.   Inż. Jose Albert powiedział

    Pozdrowienia dla wszystkich, którzy uczestniczą w kursie online „Learn Shell Scripting”, wkrótce będziemy kontynuować inne podstawowe skrypty, aby nadal przyswajać wiedzę i nadal ją uspołeczniać. Mam nadzieję, że będziecie na bieżąco, ponieważ wkrótce zacznę od bardziej zaawansowanych kodów, ale wyeksponowanych w sposób wizualnie zrozumiały pomimo jego złożoności.

    Pamiętaj, że dzięki skryptom powłoki możesz wykonywać wiele złożonych rzeczy, które są wieloplatformowe (różne dystrybucje) przy użyciu bardzo małych plików. Zostawię wam ten mały screencast z czymś, czego wkrótce was nauczę, tym, którzy będą kontynuować oglądanie kursu, a przy zaledwie 50Kb obiecuje wiele! A to tylko połowa tego, co można zrobić za pomocą skryptów powłoki.

    Test LPI-SB8 ScreenCast (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adaptation-audiovisual_2016.sh / 43Kb)

    Zobacz zrzut ekranu: https://www.youtube.com/watch?v=cWpVQcbgCyY

  4.   Alberto powiedział

    Cześć Jose,
    Najpierw dziękuję za podzielenie się wiedzą. Twoje artykuły są bardzo interesujące.

    Dwie rzeczy, myślę, że bardzo ważne jest użycie podwójnych cudzysłowów „Hello World” i czyste wyjście naszego skryptu z wyjściem 0

  5.   Inż. Jose Albert powiedział

    Dziękujemy za Twój wkład, w następnym skrypcie zobaczysz użycie wyjścia 0, przerwy i innych!

  6.   Willarman powiedział

    Pozdrowienia.
    Bardzo interesujące, sprawiasz, że wygląda to prosto; Teraz natknąłem się na to, że nie mogę programować w Linuksie z cronem lub at, zamknięciem / zawieszeniem / hibernacją, z konsekwentnym automatycznym uruchomieniem za pomocą polecenia rtc wake, nie wiem, czy skrypt z tym poleceniem pomógłby, lub podążaliby za cronem i at nic nie robiąc, albo po prostu nie można tego zrobić, albo jest to zrobione w inny sposób, albo jestem bardzo ambitny, ale w systemie Windows jest to stosunkowo proste. Chcę przejść na Linuksa, ale ważne jest dla mnie zaplanowanie wyłączenia / zawieszenia / hibernacji i samodzielne uruchomienie komputera. Pozdrowienia.

  7.   Inż. Jose Albert powiedział
  8.   Willarman powiedział

    Dziękuję, dokładnie je przeczytam, coś mi pomoże. Pozdrowienia.

  9.   Edward Cuomo powiedział

    Jakiś czas temu zacząłem projekt, który uważam za jedyny w swoim rodzaju. To prototyp dla Framewok Bash. Wymaga tylko Bash w systemie.
    Jeśli ktoś jest zainteresowany, jest zaproszony do wypróbowania i współpracy!

    https://github.com/reduardo7/bashx

    Pozdrowienia!

    1.    jaszczurka powiedział

      Drogi Eduardo, myślę, że to świetny projekt, może mógłbyś podzielić się nim z całą społecznością desdelinux, pamiętaj, że możesz opublikować artykuł o swoim projekcie na naszej stronie, jeśli nie wiesz jak to zrobić, polecam przeczytać https://blog.desdelinux.net/guia-redactores-editores/ gdzie są najlepsze praktyki tworzenia artykułów w desdelinux oraz procedurę, którą należy przeprowadzić. Być może dla społeczności dobrze jest najpierw poznać korzyści płynące z projektu, a następnie dowiedzieć się, jak robić tego typu rzeczy. Zapraszamy Was i zapraszamy innych do dzielenia się swoimi projektami z nami i dużą społecznością, która nas otacza.

  10.   Symbol zastępczy dla Miguel Urosa Ruiz powiedział

    Cześć, dobrze, rano.
    Jestem nowy w świecie administracji maszynami z Linuksem i chciałem wiedzieć, co do tego polecasz: ksh, bash, perl, php, python….
    Dziękuję bardzo i pozdrawiam.
    Miguel.