Shell, Bash a skripty: Vše o skriptování Shell.

V této nové příležitosti (položka č. 8) na „Learn Shell Scripting“ zaměříme se více na teorii než na praxi. to znamená, že nebudeme instalovat ani studovat kód nebo instalovat konkrétní software (balíček), ale ponoříme se do toho, co je svět Shell skriptování správně řečeno, prostřednictvím odpovědí na malé, ale přímé otázky, které jsou uvedeny níže, objasnit dosud mnoho naučeného, ​​což neodkazuje přímo na naprogramovaný interní kód:

Shell skriptování

Co je to Shell v operačním systému GNU / Linux?

Shell, který ve španělštině znamená CONCHA (shell, kryt, ochrana). Termín použitý v operačních systémech označuje interpreta příkazů operačního systému. Obecně se jedná o vysoce výkonné textové rozhraní, které se projevuje ve formě terminálu (konzoly) a v zásadě se používá pro 3 důležité pracovní oblasti:

1.- Správa OS,
2. - Spouštějte aplikace a komunikujte s nimi a
3.- Slouží jako základní programovací prostředí.

Mnoho SO, GNU / Linux stále jsou efektivněji spravovány úpravami svých konfiguračních souborů prostřednictvím terminálu. Obecně platí, že se nacházejí na cílové cestě: «/atd"a v konkrétních adresářích pro každou aplikaci. Například program Lilo (což je zkratka pro Linux Loader) se konfiguruje úpravou textového souboru, který se nachází a nazývá se jako „/Etc/lilo/lilo.conf“. V případě programů (aplikací) se tyto spouští (spouštějí / aktivují) zapsáním názvu spustitelného souboru, pokud je nalezen v cestě (výchozí cesta) pro všechny spustitelné soubory, jak je obvykle „/ Usr / bin“ , nebo zadáním názvu spustitelného souboru, kterému předchází: ./, z adresáře, kde se nacházejí.

To vše je dobře známé každému uživateli prostředí Shell. Jeho schopnosti programovacího prostředí však nejsou tak známé a oceňované. Skripty (programy) vytvořené v prostředí Shell není nutné kompilovat. Shell je interpretuje řádek po řádku. Proto jsou známé nebo pojmenované jako Shells Scripts a mohou sahat od jednoduchých příkazů až po složitou řadu pokynů pro spuštění samotného operačního systému. mají poměrně čistou syntaxi (konstrukce, řazení) (zřejmé), což z nich dělá dobrý výchozí bod pro začátek ve světě programování.

Co je to skriptování Shell?

Je to technika (dovednost / obratnost) navrhování a vytváření skriptu (soubor automatizace úloh) pomocí prostředí operačního systému (nejlépe) nebo textového editoru (grafického nebo terminálového). Toto je typ programovacího jazyka, který se obecně interpretuje. To znamená, že zatímco většina programů je kompilována (kódována), protože jsou trvale převedeny na konkrétní (speciální) kód, než je lze spustit (proces kompilace), skript prostředí zůstane v původní podobě (jeho kód textový zdroj) a jsou interpretovány příkaz po příkazu pokaždé, když jsou provedeny. I když je možné, že skripty lze také zkompilovat, i když to není obvyklé.

Jaké jsou vlastnosti programů založených na programování v prostředí Shell Scripting?

1.- Jsou snadnější na psaní (program), ale s vyššími náklady na zpracování, když jsou provedeny.

2.- Ke spuštění používají místo překladačů tlumočníky

3.- Mají komunikační vztah s komponentami napsanými v jiných programovacích jazycích.

4.- Soubory, které je obsahují, jsou uloženy jako prostý text.

5.- Konečný návrh (kód) je obvykle menší, než jaký by byl ekvivalent v kompilovaném programovacím jazyce.

Jaké jsou nejoblíbenější typy jazyků v prostředí Shell Scripting?

1. - Jazyk ovládání úloh a prostředí:

a) cmd.exe (Windows NT, Windows CE, OS / 2),
b) COMMAND.COM (DOS, Windows 9x),
c) csh, Bash, AppleScript, sh,
d) JScript přes Windows Script Host,
e) VBScript přes Windows Script Host,
f) REXX, mezi mnoha dalšími.

2. - Skriptování GUI (jazyky maker):

a) AutoHotkey,
b) AutoIt,
c) Očekávejte,
d) Automator, mimo jiné.

3. - Skriptovací jazyk konkrétních aplikací:

a) ActionScript ve Flashi,
b) MATLAB,
c) skript mIRC,
d) QuakeC, mimo jiné.

4. - Webové programování (pro dynamické stránky):

a) Na straně serveru:

- PHP,
- ASP (stránky aktivního serveru),
- stránky JavaServer,
- Studená fúze,
- IPTSCRAE,
- Laso,
- MIVA Script,
- SMX,
- XSLT, mimo jiné.

b) Na straně klienta:

- JavaScript,
- JScript,
- VBScript,
- Tcl, mimo jiné.

5.- Jazyky pro zpracování textu:

- AWK,
- Perl,
- Žízeň,
- XSLT,
- Bash, mimo jiné.

6. - Univerzální dynamické jazyky:

- APL,
- Boo,
- Dylan,
- ferit,
- Groovy,
- IO,
- Lisp,
- Luo,
- MUMPS (M),
- novýLISP,
- Nuva,
- Perl,
- PHP,
- Python,
- Ruby,
- Schéma,
- Pokec,
- SuperCard,
- Tcl,
- Mimo jiné revoluce.

Co je Bash v GNU / Linuxu?

Jedná se o počítačový program, jehož funkcí je interpretovat příkazy. Je založen na Unix shell a podporuje to POSIX. Byl napsán pro projekt GNU a je výchozím shellem pro většinu distribucí Linuxu.

Co je to Shell Script v GNU / Linux?

Shell skripty jsou nesmírně užitečné. Je dobré napsat ty potřeby, které máme, a poté upravit skripty, které tuto práci za nás dělají. Nyní je čas zeptat se sám sebe, co přesně je skript. Jedná se o textový soubor obsahující řadu příkazů prostředí, které systém provádí uspořádaným způsobem, shora dolů. Chcete-li je upravit, potřebujete pouze textový editor, například Emacs, Vi, Nano. Jsou uloženy s příponou „.sh“ (v některých případech i bez ní) a jsou spouštěny z prostředí Shell pomocí příkazu: sh script name.sh. Skripty se chovají stejně jako příkazy prostředí.

Výukový přístup, který osobně používám „Learn Shell Scripting“ Je velmi praktické a přímé, to znamená zkoumat plně funkční Skript, rozložit ho, studovat jej větu po větě, řádek po řádku, příkaz po příkazu, proměnnou po proměnné, dokud nepochopíte, jak každý prvek funguje samostatně a jak se zapojuje do kódu Všeobecné. Je to tak trochu Reverse Engineering nebo Software Reengineering. To vše za účelem osvojení znalostí, jejich zdokonalení (optimalizace) a jejich sdílení pro společný prospěch a lepší správu a optimalizaci bezplatných operačních systémů.

Jak to funguje a funguje v prostředí GNU / Linux Shell?

Prvním krokem při práci s shellem je spuštění shellu. To, co vypadá jako truismus, má svůj důvod být. V některých distribucích GNU / Linux orientovaných na koncového uživatele je shell docela skrytý. Normálně se tomu říká: Konsole, Terminal, Terminal X nebo něco podobného. Další možností je použití virtuální konzoly. Použití: Ctrl + Alt + f1 nebo f2 nebo f3 až f7 nebo f8, v závislosti na použité distribuci GNU / Linux. Nejpoužívanějším Shell v GNU / Linuxu je Bash, i když existují i ​​jiné, například ksh nebo C Shell. V mém případě, zvláště pro své publikace, používám Bash Shell.

Vzhledem k tomu, že byl vytvořen skript vytvořený v Bash Shell ahoj_svět.sh lze vysvětlit následující:

Obsah:

#! / bin / bash
ozvěna ahoj svět

Zhroutit se:

První řádek skriptu
#! / bin / bash

Označuje program, který by měl skript spustit. Pokud program nelze najít, dojde k chybě.

Druhý řádek skriptu
ozvěna ahoj svět

Spusťte příkaz echo pomocí argumentů Hello World, aby se zobrazily na obrazovce.

Provedení: Skript můžeme spustit dvěma způsoby

Vyvolání tlumočníka ke spuštění skriptu:
# bash hello_world.sh

Lze jej také spustit jako:
# sh hello_world.sh

Ale protože váš správný Shell není vyvolán, může fungovat polovinu. V ideálním případě je Shell použitý v prvním řádku ten, který se používá k jeho provedení.

Skript můžete také spustit přímo následujícím způsobem:
# ./hello_world.sh

Nota: ./ označuje běh z aktuálního adresáře.

Zbytek, který zbývá analyzovat, je kód, který do něj vložíte. Doufám, že se vám jako vždy líbí (někteří více než ostatní, podle potřeb učení a znalostí) tato série Shell skriptování.

Existuje mnoho dobrých odkazů na toto téma na webu, ale nechám vám tohoto malého průvodce, který se nachází přímo zde na DesdeLinux. net A tohle další Externí průvodce.

Do dalšího příspěvku!


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   d4ny řekl

    Lilo .. Linux Loader .. zbytek velmi dobrá informace .. díky .. salu2 d4ny.-

  2.   Ing.Jose Albert řekl

    Zdravíme všechny, kteří se brzy účastní online kurzu „Naučte se skriptování prostředí“, budeme pokračovat dalšími základními skripty, abychom si znalosti nadále osvojovali a dále je socializovali všem.

    Doufám, že zůstanete naladěni, protože brzy začnu s pokročilejšími kódy, ale vystaven způsobem, který je navzdory své složitosti vizuálně srozumitelný.

    Pamatujte, že pomocí Shell Scripting můžete dělat velmi složité věci, které jsou multiplatformní (různá distribuce) pomocí velmi malých souborů. Zanechám vám toto malé promítání něčeho, co vás brzy naučím, těm, kteří kurz nadále sledují, a to s pouhými 50 kB slibuje hodně! A je to jen polovina toho, co lze udělat pomocí Shell Scripting.

    Test ScreenCast LPI-SB8 (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adecuación-audiovisual_2016.sh / 43 kB)

    Viz Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY

    1.    Alberto cardona řekl

      Dobrý den, váš příspěvek je neuvěřitelný, opravdu vám moc děkuji !!
      Trochu pochybuji, mohu naprogramovat kompilátor s bash?
      Nebo alespoň lexikální analyzátor?
      má tu moc?

  3.   Ing.Jose Albert řekl

    Zdravíme všechny, kteří se brzy účastní online kurzu „Naučte se skriptování prostředí“, budeme pokračovat dalšími základními skripty, abychom si znalosti nadále osvojovali a dále je socializovali všem. Doufám, že zůstanete naladěni, protože brzy začnu s pokročilejšími kódy, ale vystaven způsobem, který je navzdory své složitosti vizuálně srozumitelný.

    Pamatujte, že pomocí Shell Scripting můžete dělat velmi složité věci, které jsou multiplatformní (různá distribuce) pomocí velmi malých souborů. Zanechám vám toto malé promítání něčeho, co vás brzy naučím, těm, kteří kurz nadále sledují, a to s pouhými 50 kB slibuje hodně! A je to jen polovina toho, co lze udělat pomocí Shell Scripting.

    Test ScreenCast LPI-SB8 (LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0)
    (lpi_sb8_adecuación-audiovisual_2016.sh / 43 kB)

    Viz Screencast: https://www.youtube.com/watch?v=cWpVQcbgCyY

  4.   Alberto řekl

    Hola Jose,
    Nejprve vám děkuji za sdílení vašich znalostí. Vaše články jsou velmi zajímavé.

    Dvě věci, myslím, že je velmi důležité používat uvozovky „Hello World“ a mít čistý výstup našeho skriptu s exit 0

  5.   Ing.Jose Albert řekl

    Děkujeme za vaše příspěvky, v příštím skriptu uvidíte použití exit 0, break a další!

  6.   Willarmand řekl

    Zdravím.
    Velmi zajímavé, vypadáte jednoduše; Nyní jsem zjistil, že nemohu programovat v Linuxu s cron nebo at, the shutdown / suspend / hibernate, s následným automatickým spuštěním pomocí příkazu rtc wake, nevím, jestli by skript s tímto příkazem pomohl, nebo by následovali cron a aniž bychom něco dělali, nebo to prostě nejde, nebo se to dělá jinak, nebo jsem velmi ambiciózní, ale ve Windows je to relativně jednoduché. Chci přejít na Linux, ale je pro mě důležité naplánovat vypnutí / pozastavení / hibernaci a nechat počítač spustit sám. Pozdravy.

  7.   Ing.Jose Albert řekl

    Možná vám to dá několik inovativních nápadů: http://cirelramos.blogspot.com/2016/01/reiniciar-apagar-o-ejecutar-otra-tarea.html

  8.   Willarmand řekl

    Děkuji, důkladně si je přečtu, něco mi pomůže. Pozdravy.

  9.   Edward Cuomo řekl

    Před časem jsem zahájil projekt, který je podle mého názoru jedinečný. Je to prototyp hry Framewok Bash. Vyžaduje pouze Bash v systému.
    Pokud má někdo zájem, je vyzván, aby to vyzkoušel a spolupracoval!

    https://github.com/reduardo7/bashx

    Zdravím!

    1.    ještěrka řekl

      Milý Eduardo, myslím, že je to skvělý projekt, možná bys ho mohl sdílet s celou komunitou desdelinux, pamatujte, že článek o svém projektu můžete publikovat na našem webu, pokud nevíte jak na to doporučuji přečíst https://blog.desdelinux.net/guia-redactores-editores/ kde jsou nejlepší postupy pro vytváření článků v desdelinux a postup, který má být proveden. Možná pro komunitu je docela dobré nejprve vědět o výhodách svého projektu a poté se naučit, jak dělat tento typ věcí. Zveme vás a zveme ostatní, aby se s námi a širokou komunitou, která nás obklopuje, podělili o své projekty.

  10.   Zástupný obrázek pro Miguel Urosa Ruiz řekl

    Dobrý den, ráno.
    Jsem ve světě správy strojů Linux nováčkem a chtěl jsem vědět, co pro něj doporučujete: ksh, bash, perl, php, python….
    Děkuji moc a pozdravem.
    Miguel.