Przejdź nad skryptami powłoki Sh.py jest tutaj i jest niesamowity.

  • Edmund Richardson
  • 0
  • 5067
  • 948
Reklama

Założę się, że nie wiedziałeś, że możesz pisać skrypty powłoki w Pythonie.

Dla każdego programisty lub administratora systemu skryptowanie powłoki jest niezbędną umiejętnością do opanowania. Pozwala zautomatyzować żmudne zadania, zamieniając je w spójne, powtarzalne działania. Problem polega na tym, że może to być nieco zniechęcające, zwłaszcza gdy weźmie się pod uwagę, że w większości dialektów skryptów powłoki brakuje syntaktycznej finezji, takiej jak w Pythonie i Ruby.

Będę jeszcze bardziej tępy. Większość skryptów powłoki jest brzydsza niż przeciętny mops.

Ponadto istnieje wiele powłok dostępnych dla platform typu UNIX, w tym Bash, CSH, KSH i (moja ulubiona) FISH. W rezultacie pisanie spójnych skryptów powłoki działających na każdej platformie może być trudne.

Musi być lepszy sposób, prawda?

Przedstawiamy sh.py

Jest. Kiedy nie piszę dla MakeUseOf, piszę kod w Pythonie dla zabawy i zysku. Naprawdę podoba mi się Python ze względu na jego elastyczność, nieodłączne piękno i sposób, w jaki wymusza pisanie dobrego kodu według projektu. Jeśli brzmi to dla ciebie dobrze, ale nie znasz jeszcze tego wspaniałego języka, sprawdź te pięć wspaniałych stron internetowych, aby nauczyć się programowania w języku Python. 5 najlepszych stron internetowych do nauki programowania w języku Python. 5 najlepszych stron internetowych do nauki programowania w języku Python. nauczyć się programowania w języku Python? Oto najlepsze sposoby nauki języka Python online, z których wiele jest całkowicie darmowych. ?

Kilka miesięcy temu natknąłem się na tę naprawdę niesamowitą bibliotekę o nazwie sh.py, która pozwala na wywoływanie programów, przekazywanie parametrów i obsługę wyników, wszystko w ramach programu Python.

Co to znaczy? Mówiąc najprościej, oznacza to, że masz pełną funkcjonalność skryptów powłoki, ale z poziomu łatwego do odczytania języka, ma on modułowy charakter i obsługuje programowanie obiektowe. Fajnie, prawda?

Jak więc z tego korzystamy?

Robię kilka założeń o tobie. Po pierwsze, korzystasz z systemu Linux, OS X lub FreeBSD. W tej chwili sh.py nie działa w systemie Windows. Jednak w razie potrzeby zawsze można zainstalować maszynę wirtualną z systemem Linux. Mój kolega Justin Pot napisał całkiem przydatny artykuł na ten temat, który możesz sprawdzić tutaj Jak korzystać z bezpłatnych obrazów VirtualBox do testowania i uruchamiania systemów operacyjnych Open Source [Linux] Jak korzystać z bezpłatnych obrazów VirtualBox do testowania i uruchamiania systemów operacyjnych Open Source [Linux] Szybko wypróbuj wiele różnych systemów operacyjnych typu open source, niektóre znasz, a niektóre nie. Możesz rozpocząć przeglądanie teraz w Virtualbox, witrynie, która zajmuje prawie wszystkie prace… .

Drugim założeniem jest to, że korzystasz z najnowszej wersji Pythona (2.7 lub 3.2) i masz zainstalowany menedżer pakietów PIP. Jeśli tak nie jest, zajrzyj do oficjalnej dokumentacji Pythona.

Wszystko dobrze? Potem będziemy kontynuować.

Zacznijmy kodować

W terminalu zainstaluj sh.py za pomocą następującego polecenia.

sudo pip install sh

Powodem, dla którego używamy tutaj „sudo” jest to, że musimy podnieść nasze uprawnienia do dodawania nowych pakietów Pythona. Jeśli sh.py zostanie zainstalowany poprawnie, zobaczysz w swoim terminalu następujące linie.

Pobieranie / rozpakowywanie sh Pobieranie sh-1.09.tar.gz Uruchamianie setup.py egg_info dla pakietu sh Instalowanie zebranych pakietów: sh Uruchamianie setup.py instalacji dla sh sh Pomyślnie zainstalowana sh Czyszczenie… 

Jeśli to nie mówi, istnieje duże prawdopodobieństwo, że instalacja się nie powiodła. Smutny. W takim przypadku spróbuj sprawdzić swoje uprawnienia i faktyczną instalację PIP. Jeśli nadal go nie ma, spróbuj zapytać o przepełnienie stosu (które wcześniej omawiano 10 stron internetowych, które mogą pomóc początkującym programistom w przykładowych fragmentach kodu 10 stron internetowych, które mogą pomóc początkującym programistom w postaci fragmentów kodu przykładowego przez naszego redaktora internetowego, Saikat Basu) lub MakeUseOf Answers.

Teraz to posortowane, utwórz nowy katalog. To tutaj umieścimy cały nasz kod. Otwórz edytor tekstu i utwórz plik o nazwie „shtest.py”. Tutaj po prostu utworzymy nowy plik, a następnie wylistujemy zawartość katalogu, w którym się znajdujemy. Brzmi dobrze?

W shtest.py dodaj następujące wiersze.

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

Proste rzeczy tutaj. Rozwalmy to.

#! / usr / bin / env python

Ta linia nazywa się hash-bang i instruuje twoją powłokę, aby otworzyła ten plik jako program w języku Python. Pozwala to na otwarcie go jak skryptu powłoki (./shtest.py), zamiast otwierania go bezpośrednio w Pythonie (python shtest.py). Fajnie, prawda?

import sh

Ten wiersz importuje bibliotekę sh, którą zainstalowaliśmy kilka chwil temu. Nie możemy kontynuować bez tego, więc upewnij się, że jest w twoim kodzie!

sh.touch („cześć”)

Być może znasz komendę Linuksa „dotknij”. Spowoduje to utworzenie pustego pliku o podanej nazwie pliku. Tutaj bezpośrednio nazywamy „dotyk” z poziomu Pythona. Jak widać, poprzedziliśmy to słowem „sh” i przekazujemy parametr „hello”.

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

Być może znasz polecenie „print”, które wyświetla tekst na konsoli. Tutaj przekazujemy go jako „sh.ls” jako parametr. To wywołuje program Linux ls, który wyświetla zawartość katalogu. Podajemy również parametr „-l”, który wyświetla bardziej szczegółowe informacje o zawartości katalogu, w którym to wykonujemy.

Czy to działa? Sam zobacz.

Ci z was jastrzębimi oczami zauważą, że w tym katalogu unosi się inny plik o nazwie „gitsh.py”. Co może tam być?

Polecenia podrzędne

sh.py ma pewne haczyki dla popularnych programów, które już zostały wypalone. Należą do nich git, sudo i znaczna liczba narzędzi Linuksa. Dzięki temu interakcja z tymi usługami z poziomu Pythona jest jeszcze łatwiejsza.

Jak łatwo? Pokażę ci, jak zainicjować puste repozytorium Git w zaledwie trzech wierszach kodu. Najpierw utwórz plik o nazwie „gitsh.py” i otwórz go w swoim ulubionym edytorze tekstu.

W środku napisz następujące trzy linie.

 #! / usr / bin / env python z sh import git print (git.init ())

Większość tego powinna być ci znana. Zauważysz, że zaimportowaliśmy „git” z „sh”. Oznacza to po prostu, że zaimportowaliśmy określoną funkcję z modułu, ignorując wszystko inne.

Następnie inicjujemy nasze repozytorium.

print (git.init ())

Rozmawialiśmy o druku. Powinieneś zauważyć, że nazywamy „git” bez kontynuowania go przez „.sh”. Jest tak, ponieważ specjalnie zaimportowaliśmy funkcję git z biblioteki „sh”.

I o to chodzi. Kiedy uruchomimy gitsh.py, powinniśmy zobaczyć następujące linie w twoim terminalu.

Wniosek

To było dość łatwe wprowadzenie do sh.py. Jeśli chcesz dowiedzieć się więcej na ten temat, sprawdź oficjalną dokumentację tutaj. Jeśli jednak utkniesz, nie krępuj się, napisz do mnie komentarz poniżej, a postaram się pomóc.




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.