
Peter Holmes
0
3177
450
Shell je program v operačním systému Linux nebo Unix, který vám umožňuje zadávat příkazy pro provedení systémem. Když se na linuxovém počítači otevře terminálové okno, spustí shell program, který představuje rozhraní pro zadávání příkazů. Toto rozhraní se nazývá rozhraní příkazového řádku. Když je zadán příkaz, je proveden shellem a výstup je zobrazen na obrazovce.
Kromě schopnosti interaktivně přijímat a vykonávat příkazy, může shell také provádět příkazy uložené v souboru. Tento způsob provedení je známý jako shell skriptování, a v tomto článku se zabýváme základy skriptování prostředí 5 důvodů, proč byste měli používat PowerShell namísto dávkového skriptování 5 důvodů, proč byste měli používat PowerShell namísto dávkového skriptování některé další funkce, a vyhodil to všechno několik zářezů. Zde je několik důvodů, proč byste to měli vyzkoušet. .
1. Historie skořápky
Počínaje Unixem v 70. letech 20. století existoval shell program nazvaný V6 Shell vyvinul Ken Thomson. Byl to interaktivní shell a postrádal skriptovací schopnost.
Následovalo to Bourne Shell v roce 1977 a dodnes se používá jako výchozí shell pro vykořenit účet. Tento shell přidal skriptovací schopnosti, které se v průběhu let ukázaly jako velmi užitečné.
Další vývoj skořápky v 80. letech vedl ke vzniku mnoha populárních variant skořápky, z nichž nejoblíbenější byly C-Shell a Korn Shell. Každá z těchto skořápek přinesla svou vlastní syntaxi, která se v některých případech drasticky lišila od původní skořápky.
Jednou z nejpopulárnějších skořápek dnes je Bash Shell. Bash je zkratka pro Bourne-Again-Shell a je nesmírně vylepšenou variantou původní Bourne Shell.
V tomto článku popisujeme skriptování prostředí pro prostředí Bash Shell Rychlý průvodce pro Linux Bash Shell ve Windows 10 Stručný průvodce pro Linux Bash Shell ve Windows 10 Nyní můžete spustit Linux na Windows. Další informace o systému Bash ve Windows, o tom, jak a proč byste jej měli nainstalovat, až po skryté funkce, o kterých jste pravděpodobně nevěděli. .
2. Spuštění skriptu prostředí
Jak spustíte shell skript? Jednoduchý. Stačí předat cestu skriptu jako argument do shellu:
Ukázkový skript shellu:
echo "ahoj svět"
Spusťte jej následujícím způsobem:
$ bash hello.sh # tiskne ahoj svět
Poznámka: Shell vyžaduje, aby byly řádky zakončeny znaky LF (Line-Feed). Pokud napíšete svůj shell skript na Windows a pokusíte se jej spustit přímo v systému Linux, můžete narazit na chyby. Windows používá pro ukončení řádku kombinaci CR-LF (Carriage-Return-Line-Feed). Toto je třeba převést pouze na LF. Vyhledejte způsoby, jak to provést, v editoru Windows.
Existuje další způsob, jak spustit shell skript přímo jako příkaz. Vložte následující řádek ( hashbang prohlášení) jako první řádek vašeho shellového skriptu.
#! / bin / bash
Díky této změně je nyní náš jednoduchý shell skript:
#! / bin / bash echo "ahoj svět"
Nyní musíte provést skript spustitelný následujícím způsobem:
$ chmod + x hello.sh
V tomto okamžiku můžete soubor skriptu spustit přímo, aniž byste museli explicitně odkazovat na prostředí.
$ hello.sh # tiskne ahoj svět
Podívejme se nyní na některé výhody používání shell skriptů Co jsou skripty CGI a jak zlepšují webové stránky? Co jsou skripty CGI a jak zlepšují webové stránky? CGI znamená Common Gateway Interface. Je to standardní protokol pro webové servery k provádění programů a generování výstupu pro webové prohlížeče. Přečtěte si vše o skriptech CGI a o tom, jak mohou vylepšit váš web. .
3. Automatizace úloh
První výhodou používání shell skriptů je automatizace často prováděných úkolů. 7 Denní úkoly, které jste nevěděli, že byste mohli automatizovat během několika minut 7 Denní úkoly, které jste nevěděli, že byste mohli automatizovat během několika minut Existuje mnoho věcí, které můžete nyní automatizovat to vám ušetří čas a umožní vám soustředit se na jiné věci. Dáme vám sedm věcí, které můžete nyní automatizovat pomocí správných nástrojů. . Předpokládejme, že máte úkol, který musíte provádět každý den. Pokud potřebujete v Linuxu každý den provádět více příkazů, můžete tyto příkazy uložit do souboru a spustit skript. Příklady zahrnují:
- Archivujte a každý den ukládejte soubor nebo složku do cloudového úložiště Dropbox vs. Google Drive vs. OneDrive: Který cloudový úložiště je pro vás nejlepší? Dropbox vs. Disk Google vs. OneDrive: Který cloudový úložiště je pro vás nejlepší? Změnili jste způsob, jakým přemýšlíte o cloudovém úložišti? K oblíbeným možnostem Dropboxu, Disku Google a OneDrive se přidali i další. Pomůžeme vám odpovědět, kterou službu cloudového úložiště byste měli použít. jako je S3.
- Komprimujte soubory protokolu, které mají tendenci růst každý den.
- Načíst ceny akcií, analyzovat načtená data a spustit e-mail nebo SMS, jsou-li splněny určité podmínky (příliš vysoké nebo příliš nízké ceny).
4. Kombinace více příkazů
Kromě automatizace častých úkolů může být pro vás také výhodné kombinovat více sekvencí příkazů do jednoho příkazu. Pamatování jediného příkazu je mnohem jednodušší než více příkazů, nemluvě o pořadí, ve kterém musí být provedeny.
Příkladem by mohla být spouštěcí posloupnost Příručky Začínáme s operačním systémem Linux Příručka Začínáme s operačním systémem Linux Příručka Začínáme s operačním systémem Linux pro nováčky Pravděpodobně jste už slyšeli o Linuxu, svobodném operačním systému s otevřeným zdrojovým kódem, který tlačí proti společnosti Microsoft. sám. Jako součást spouštění operačního systému provede řadu příkazů, aby systém uvedl do správného stavu. Tyto příkazy jsou ve skutečnosti shellové skripty, které žijí pod /atd adresář. Pokud se podíváte na jeden z těchto shell skriptů, uvědomíte si složitost zavádění systému, který byste možná museli provést ručně, pokud neexistují shellové skripty.
Následuje ukázkový skript shellu, / etc / profile, který se provede pokaždé, když se uživatel přihlásí. Představte si, že tyto příkazy zadáváte ručně!
# / etc / profile: souborový profil pro celý systém pro prostředí Bourne (sh (1)) # a Bourne kompatibilní prostředí (bash (1), ksh (1), popel (1),…). pokud ["$ PS1"]; pak pokud ["$ BASH"] && ["$ BASH"! = "/ bin / sh"]; pak # Soubor bash.bashrc již nastavuje výchozí PS1. # PS1 = "\ h: \ w \ $", pokud [-f /etc/bash.bashrc]; pak . /etc/bash.bashrc fi else if ["'id -u'" -eq 0]; pak PS1 = "#" else PS1 = "$" fi fi fi # Výchozí umask nyní zpracovává pam_umask. # Viz pam_umask (8) a /etc/login.defs. pokud [-d /etc/profile.d]; pak pro i v /etc/profile.d/*.sh; dělat, pokud [-r $ i]; pak . $ i fi hotovo unset i fi
5. Snadnější vývoj
Je možné provádět stejné akce jako shellový skript uvnitř běžného programu napsaného v C / C ++. Je však mnohem snazší psát a ladit skript shellu než program C / C ++. Zejména pro úkoly správy systému, které zahrnují provádění externích příkazů, vytváření a odstraňování souborů a adresářů, přesměrování výstupu atd.
Programy C / C ++ jsou lepší pro mnohem nižší úroveň operací, jako je vyvolání systémových volání, manipulace s datovými strukturami atd.
6. Průhlednost
Shell shell, protože je textový soubor, lze snadno zobrazit a zjistit, jaké akce provádí. Naopak, jediný způsob, jak budete vědět, co program napsaný v jazyce, jako je C / C ++ (a kompilovaný do spustitelného souboru), je, pokud se vám rozhodne sdělit, nebo pokud máte přístup ke zdrojovému kódu. Můžete například zkontrolovat, zda skript prostředí mazá soubory, a pokud je potřebujete, můžete je zkopírovat do jiného umístění..
Je také mnohem jednodušší diagnostikovat problémy s shell skripty než s běžnými programy, protože se můžete podívat na zdrojový kód. Selže tento skript, protože adresář neexistuje? Můžete se podívat do kódu skriptu a vytvořit adresář (přestože by se měl správně zkonstruovaný skript shellu zkontrolovat a vytvořit, aby se předešlo takovým chybám).
7. Přenosné
Shell shellu Stručný průvodce prostředí Linux Bash Shell v systému Windows 10 Stručný průvodce prostředí Linux Bash Shell v systému Windows 10 Nyní můžete spustit systém Linux v systému Windows. Další informace o systému Bash ve Windows, o tom, jak a proč byste jej měli nainstalovat, až po skryté funkce, o kterých jste pravděpodobně nevěděli. lze přenést do jiných unixových a unixových operačních systémů a provést (pokud je přítomen samotný shell). Dokonce i při přenosu shellového skriptu z různých architektur, jako jsou x86, MIPS, Sparc atd., Jsou skripty shellu mnohem přenosnější než programy C / C ++.
Jediným způsobem, jak lze program C / C ++ přenést a použít v jiném systému, je zkopírovat zdrojový kód, sestavit program a pokusit se jej spustit. I tehdy nemusí fungovat podle očekávání, pokud používá kód specifický pro architekturu.
Teď, když máte představu, jaké jsou shellové skripty a jejich mnoho výhod, nechtěli byste je použít pro své úkoly? S jakými problémy jste se setkali při jejich používání? Prosím, dejte nám vědět v komentářích níže.