
Brian Curtis
0
4761
1411
Powłoka to program w systemie operacyjnym Linux lub Unix, który umożliwia wprowadzanie poleceń do wykonania przez system. Kiedy okno terminala jest otwarte na komputerze z systemem Linux, uruchamia program powłoki, który przedstawia interfejs do wprowadzania poleceń. Ten interfejs jest znany jako interfejs wiersza poleceń. Po wprowadzeniu polecenia jest ono wykonywane przez powłokę, a dane wyjściowe są wyświetlane na ekranie.
Oprócz możliwości interaktywnego przyjmowania i wykonywania poleceń, powłoka może również wykonywać polecenia zapisane w pliku. Ten sposób wykonywania jest znany jako skrypty powłoki, a w tym artykule omawiamy podstawy skryptowania powłoki 5 Powodów, dla których powinieneś używać PowerShell zamiast skryptów wsadowych 5 Powodów, dla których powinieneś używać PowerShell zamiast skryptów wsadowych PowerShell jest tym, co można uzyskać, jeśli przekroczysz wiersz polecenia za pomocą skryptów wsadowych kilka dodatkowych funkcji i wszystko to przyspieszyło. Oto kilka powodów, dla których powinieneś spróbować. .
1. Historia powłoki
Począwszy od Uniksa w latach 70. istniał program powłoki o nazwie Shell V6 opracowany przez Kena Thomsona. To była interaktywna powłoka i brakowało jej zdolności do tworzenia skryptów.
Potem było Bourne Shell w 1977 roku i pozostaje w użyciu jako domyślna powłoka dla korzeń konto. Ta powłoka dodała zdolności skryptowe, które przez lata okazały się niezwykle przydatne w praktyce.
Dalszy rozwój powłoki w latach 80. XX wieku zaowocował wieloma popularnymi wariantami pocisków, z których najbardziej popularnymi były C-Shell i Korn Shell. Każda z tych powłok miała własną składnię, która w niektórych przypadkach drastycznie różniła się od oryginalnej powłoki.
Jednym z najpopularniejszych obecnie pocisków jest Bash Shell. Bash oznacza Bourne-Again-Shell i jest znacznie ulepszoną wersją oryginalnej powłoki Bourne'a.
W tym artykule opisujemy skrypty powłoki dla Bash Shell Szybki przewodnik po Linux Bash Shell w Windows 10 Szybki przewodnik po Linux Bash Shell w Windows 10 Teraz możesz uruchomić Linux na Windows. Dowiedz się więcej o Bash w systemie Windows, od tego, jak i dlaczego powinieneś go zainstalować, po ukryte funkcje, o których prawdopodobnie nie wiedziałeś. .
2. Wykonywanie skryptu powłoki
Jak wykonać skrypt powłoki? Prosty. Po prostu przekaż ścieżkę skryptu jako argument do powłoki:
Przykładowy skrypt powłoki:
echo „witaj świecie”
Uruchom w następujący sposób:
$ bash hello.sh # drukuje hello world
Uwaga: Powłoka wymaga, aby wiersze były zakończone znakami LF (Line-Feed). Jeśli napiszesz skrypt powłoki w systemie Windows i spróbujesz go uruchomić bezpośrednio w systemie Linux, możesz napotkać błędy. Windows używa kombinacji CR-LF (Carriage-Return-Line-Feed) do zakończenia linii. To musi być przekonwertowane tylko na LF. Sprawdź, jak to zrobić w edytorze systemu Windows.
Istnieje inny sposób wykonania skryptu powłoki bezpośrednio jako polecenia. Wstaw następujący wiersz ( hashbang deklaracja) jako pierwszy wiersz skryptu powłoki.
#! / bin / bash
Dzięki tej zmianie nasz prosty skrypt powłoki jest teraz:
#! / bin / bash echo „hello world”
Teraz musisz ustawić plik wykonywalny w następujący sposób:
$ chmod + x hello.sh
W tym momencie możesz wykonać plik skryptu bezpośrednio, bez konieczności jawnego odwoływania się do powłoki.
$ hello.sh # drukuje hello world
Przyjrzyjmy się teraz niektórym zaletom korzystania ze skryptów powłoki. Co to są skrypty CGI i jak poprawiają strony internetowe? Co to są skrypty CGI i jak ulepszają strony internetowe? CGI oznacza Common Gateway Interface. Jest to standardowy protokół dla serwerów sieciowych do uruchamiania programów i generowania danych wyjściowych dla przeglądarek internetowych. Dowiedz się wszystkiego o skryptach CGI i jak mogą ulepszyć twoją stronę. .
3. Automatyzacja zadań
Pierwszą zaletą korzystania ze skryptów powłoki jest automatyzacja często wykonywanych zadań 7 codziennych zadań, o których nie wiedziałeś, że możesz zautomatyzować w kilka minut 7 codziennych zadań, o których nie wiedziałeś, że możesz zautomatyzować w kilka minut Istnieje wiele rzeczy, które możesz teraz zautomatyzować pozwoli to zaoszczędzić czas i pozwoli skupić się na innych rzeczach. Dajemy Ci siedem rzeczy, które możesz teraz zautomatyzować za pomocą odpowiednich narzędzi. . Załóżmy, że masz zadanie, które musisz wykonywać codziennie. Jeśli musisz codziennie wykonywać wiele poleceń w systemie Linux, możesz zapisać te polecenia w pliku i uruchomić skrypt. Przykłady obejmują:
- Archiwizuj i przesyłaj codziennie plik lub folder do magazynu w chmurze Dropbox vs. Dysk Google vs. OneDrive: Która pamięć w chmurze jest dla Ciebie najlepsza? Dropbox vs. Dysk Google vs. OneDrive: Która pamięć w chmurze jest dla Ciebie najlepsza? Czy zmieniłeś sposób myślenia o pamięci w chmurze? Do popularnych opcji Dropbox, Google Drive i OneDrive dołączyły inne. Pomagamy odpowiedzieć na pytanie, z której usługi przechowywania w chmurze należy skorzystać. takie jak S3.
- Kompresuj pliki dziennika, które zwykle rosną każdego dnia.
- Pobierz ceny akcji, przeanalizuj pobrane dane i uruchom wiadomość e-mail lub SMS, gdy zostaną spełnione określone warunki (zbyt wysokie lub zbyt niskie ceny).
4. Łączenie wielu poleceń
Oprócz automatyzacji częstych zadań korzystne może być także połączenie wielu sekwencji poleceń w jedno polecenie. Zapamiętywanie jednego polecenia jest znacznie prostsze niż wiele poleceń, nie wspominając już o kolejności, w jakiej muszą zostać wykonane.
Przykładem może być sekwencja uruchamiania systemu operacyjnego Linux Przewodnik wprowadzający do systemu Linux Przewodnik wprowadzający do systemu Linux Przewodnik dla początkujących dotyczący systemu Linux! Prawdopodobnie słyszałeś o Linuksie, darmowym systemie operacyjnym typu open source, który naciska na Microsoft. samo. W ramach rozruchu system operacyjny wykonuje szereg poleceń, aby doprowadzić system do właściwego stanu. Te polecenia są tak naprawdę skryptami powłoki, które działają pod /itp informator. Jeśli spojrzysz na jeden z tych skryptów powłoki, zdasz sobie sprawę ze złożoności rozruchu systemu, który być może musiałbyś wykonać ręcznie przy braku skryptów powłoki.
Oto przykładowy skrypt powłoki, / etc / profile, który jest wykonywany za każdym razem, gdy użytkownik się loguje. Wyobraź sobie, że wpisujesz te polecenia ręcznie!
# / etc / profile: ogólnosystemowy plik .profile dla powłoki Bourne'a (sh (1)) # i powłoki kompatybilne z Bourne'em (bash (1), ksh (1), ash (1),…). jeśli [„$ PS1”]; to jeśli [„$ BASH”] && [„$ BASH”! = "/ bin / sh"]; następnie # Plik bash.bashrc już ustawia domyślny PS1. # PS1 = "\ h: \ w \ $" if [-f /etc/bash.bashrc]; następnie . /etc/bash.bashrc fi else if ["'id -u'" -eq 0]; następnie PS1 = "#" else PS1 = "$" fi fi fi # Domyślną umaską zajmuje się teraz pam_umask. # Patrz pam_umask (8) i /etc/login.defs. if [-d /etc/profile.d]; następnie dla i w /etc/profile.d/*.sh; zrobić, jeśli [-r $ i]; następnie . $ i fi zrobione unset i fi
5. Łatwiejszy rozwój
Możliwe jest wykonywanie takich samych działań jak skrypt powłoki w zwykłym programie napisanym w C / C ++. Znacznie łatwiej jest jednak pisać i debugować skrypt powłoki niż program C / C ++. Zwłaszcza do zadań administracyjnych systemu, które obejmują wykonywanie zewnętrznych poleceń, tworzenie i usuwanie plików i katalogów, przekierowywanie danych wyjściowych itp.
Programy C / C ++ są lepsze do znacznie niższego poziomu działania, takiego jak wywoływanie wywołań systemowych, manipulowanie strukturami danych itp.
6. Przejrzystość
Skrypt powłoki ze względu na to, że jest plikiem tekstowym, można łatwo wyświetlić, aby sprawdzić, jakie działania wykonuje. Natomiast jedynym sposobem, w jaki będziesz wiedzieć, co robi program napisany w języku takim jak C / C ++ (i skompilowanym do pliku wykonywalnego), jest to, czy zdecyduje się ci powiedzieć lub czy masz dostęp do kodu źródłowego. Na przykład możesz sprawdzić, czy skrypt powłoki usuwa jakieś pliki, a jeśli potrzebujesz tych plików, możesz skopiować je w inne miejsce.
O wiele łatwiej jest diagnozować problemy ze skryptami powłoki niż ze zwykłymi programami, ponieważ można przeglądać kod źródłowy. Czy ten skrypt nie działa, ponieważ katalog nie istnieje? Możesz zajrzeć do kodu skryptu i utworzyć katalog (chociaż dobrze zachowujący się skrypt powłoki powinien to sprawdzić i utworzyć, aby uniknąć takich błędów).
7. Przenośny
Skrypt powłoki Krótki przewodnik po Linux Bash Shell w systemie Windows 10 Szybki przewodnik po Linux Bash Shell w systemie Windows 10 Teraz można uruchomić system Linux w systemie Windows. Dowiedz się więcej o Bash w systemie Windows, od tego, jak i dlaczego powinieneś go zainstalować, po ukryte funkcje, o których prawdopodobnie nie wiedziałeś. można przenieść do innych systemów operacyjnych Unix i podobnych do Unixa i wykonać (jeśli sama powłoka jest obecna). Nawet podczas przesyłania skryptu powłoki z różnych architektur, takich jak x86, MIPS, Sparc itp., Skrypty powłoki są znacznie bardziej przenośne niż programy C / C ++.
Jedynym sposobem, w jaki program C / C ++ może zostać przesłany i użyty w innym systemie, jest skopiowanie kodu źródłowego, zbudowanie programu i próba jego uruchomienia. Nawet wtedy może nie działać zgodnie z oczekiwaniami, jeśli używa kodu specyficznego dla architektury.
Skoro już wiesz, czym są skrypty powłoki i jakie są ich liczne zalety, czy nie chciałbyś ich używać do swoich zadań? Jakie problemy napotkałeś podczas ich używania? Daj nam znać w komentarzach poniżej.