Přesouvejte se skripty Shell Sh.py je tady a je to úžasné.

  • Owen Little
  • 0
  • 1772
  • 423
reklama

Vsadím se, že jste nevěděli, že v Pythonu můžete psát shellové skripty.

Pro každého programátora nebo správce systému je skriptování shellu zásadní dovedností. Umožňuje automatizovat únavné úkoly a proměnit je v konzistentní, opakovatelné akce. Problém je v tom, že to může být trochu skličující, zvláště když si uvědomíte, že většina dialektů skriptování skriptů nemá syntaktickou finesi, jakou mají Python a Ruby.

Budu ještě otupělejší. Většina shell skriptů je ošklivější než průměrný mops.

Kromě toho je pro platformy podobné unixu k dispozici celá řada granátů, včetně Bash, CSH, KSH a (můj oblíbený) FISH. Výsledkem je, že psaní konzistentních skriptů prostředí, které fungují napříč každou platformou, může být náročné.

Musí existovat lepší způsob, správně?

Představujeme sh.py

Tady je. Když nepíšu pro MakeUseOf, píšu kód v Pythonu pro zábavu a zisk. Moc se mi líbí Python kvůli jeho flexibilitě, přirozené kráse a tomu, jak nařizuje psaní dobrého kódu záměrně. Pokud vám to zní dobře, ale tento úžasný jazyk již neznáte, proč byste se měli podívat na těchto pět skvělých webů, kde se naučíte programování Pythonu 5 nejlepších webů, abyste se naučili programování Pythonu 5 nejlepších webů, abyste se naučili programování Pythonu naučit se programování v Pythonu? Zde jsou nejlepší způsoby, jak se naučit Python online, z nichž mnohé jsou zcela zdarma. ?

Narazil jsem na tuto opravdu úžasnou knihovnu před několika měsíci nazývánou sh.py, která vám umožňuje volat programy, předávat parametry a zpracovávat výstupy, vše v mezích programu Python.

Co to znamená? Jednoduše řečeno to znamená, že máte plnou funkčnost skriptů shellu, ale v jazyce, který je snadno čitelný, je modulární povahy a podporuje objektově orientované programování. Super, dobře?

Jak to tedy používáme?

Představuji vám pár předpokladů. První je, že používáte Linux, OS X nebo FreeBSD. V současné době nefunguje sh.py ve Windows. V případě potřeby však můžete vždy nainstalovat virtuální stroj Linux. Můj kolega Justin Pot o tom napsal velmi užitečný článek, který si můžete přečíst zde Jak používat virtuální obrazy zdarma k testování a běhu operačních systémů s otevřeným zdrojovým kódem [Linux] Jak používat obrázky zdarma ke virtuálnímu testování k testování a běh operačních systémů s otevřeným zdrojovým kódem [Linux] Rychle vyzkoušejte širokou škálu operačních systémů s otevřeným zdrojovým kódem, z nichž některé jste obeznámeni a jiní nejste. Nyní můžete začít procházet ve Virtualboxech, na webu, který zabere téměř veškerou práci… .

Druhým předpokladem je, že používáte nejnovější verzi Pythonu (buď 2,7 nebo 3,2) a máte nainstalovaného správce balíčků PIP. Pokud tomu tak není, podívejte se na oficiální dokumentaci Pythonu.

Vše dobré? Pak budeme pokračovat.

Začněme kódování

Do terminálu nainstalujte sh.py pomocí následujícího příkazu.

sudo pip install sh

Důvod, proč zde používáme 'sudo', je ten, že potřebujeme zvýšit naše oprávnění pro přidávání nových balíčků Pythonu. Pokud se sh.py nainstaluje správně, uvidíte v terminálu následující řádky.

Stahování / rozbalování sh Stahování sh-1.09.tar.gz Spuštění setup.py egg_info pro balíček sh Instalace shromážděných balíčků: sh Spuštění setup.py instalace pro sh Úspěšně nainstalovaná sh Čištění… 

Pokud to neříká, je pravděpodobné, že instalace selhala. Smutný. Pokud tomu tak je, zkuste zkontrolovat svá oprávnění a nainstalovat PIP. Pokud to ještě není, zkuste se zeptat na Stack Overflow (o kterém bylo dříve diskutováno 10 webů, které mohou pomoci začátečníkům s programovým fragmentem kódu 10 webů, které mohou pomoci začátečníkům s programovými úryvky od našeho internetového editora Saikat Basu) nebo Odpovědi na MakeUseOf.

Teď je to seřazeno, vytvořte nový adresář. Právě zde umístíme celý náš kód. Otevřete textový editor a vytvořte soubor s názvem 'shtest.py'. Zde si jednoduše vytvoříme nový soubor a pak vypíšeme obsah adresáře, ve kterém jsme. Zní to dobře?

V souboru shtest.py přidejte následující řádky.

#! / usr / bin / env python import sh
tisk sh.touch ('ahoj') (sh.ls ('- l'))

Jednoduché věci zde. Pojďme to rozebrat.

#! / usr / bin / env python

Tento řádek se nazývá hash-bang a dává vašemu shellu pokyn, aby tento soubor otevřel jako program Python. To vám umožní otevřít jej stejně jako shell skript (./shtest.py), namísto jeho přímého otevření pomocí Pythonu (python shtest.py). Super, dobře?

import sh

Tento řádek importuje knihovnu sh, kterou jsme nainstalovali před několika okamžiky. Bez tohoto nemůžeme pokračovat, takže se ujistěte, že je to ve vašem kódu!

sh.touch ('ahoj')

Možná znáte příkaz Linux, 'touch'. Tím se vytvoří prázdný soubor s názvem souboru, který zadáte. Tady přímo voláme „dotek“ z Pythonu. Jak vidíte, předvolili jsme to „sh“ a předáváme jej parametr „ahoj“.

tisk (sh.ls ('- l'))

Možná jste obeznámeni s příkazem 'print', který odešle text do konzoly. Zde předáváme parametr „sh.ls“ jako parametr. To volá program Linux ls, který uvádí obsah adresáře. Předáváme také parametr '-l', který vytiskne podrobnější informace o obsahu adresáře, který provedeme v.

Funguje to? Podívej se sám.

Ti z vás s jestřábem si všimnou, že v tomto adresáři se vznáší další soubor nazvaný 'gitsh.py'. Co by tam mohlo být?

Dílčí příkazy

sh.py obsahuje některé háčky pro oblíbené programy, které již byly zapečeny. Patří mezi ně git, sudo a značné množství linuxových utilit. Díky tomu je interakce s těmito službami ještě jednodušší.

Jak snadné? Dobře, ukážu vám, jak inicializovat prázdné úložiště Git pouze ve třech řádcích kódu. Nejprve vytvořte soubor s názvem 'gitsh.py' a otevřete jej v oblíbeném textovém editoru.

Uvnitř napište následující tři řádky.

 #! / usr / bin / env python ze sh importu git tisku (git.init ())

Většina z toho by vám měla být dobře známa. Všimněte si, že jsme importovali 'git' z 'sh'. To jen znamená, že jsme z modulu importovali konkrétní funkčnost a ignorovali jsme všechno ostatní.

Poté inicializujeme naše úložiště.

tisk (git.init ())

Mluvili jsme o tisku. Měli byste si všimnout, že voláme „git“, aniž by to „.sh“ pokračovalo. Důvodem je, že jsme konkrétně importovali funkčnost git z knihovny 'sh'.

A to je o tom. Když spustíme gitsh.py, měli bychom vidět následující řádky ve vašem terminálu.

Závěr

To byl rozumně snadný úvod do sh.py. Pokud se o tom chcete dozvědět více, podívejte se na oficiální dokumentaci zde. Pokud však uvíznete, neváhejte mi napsat komentář níže a pokusím se vám pomoci.




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.