4 ważne typy skryptów powłoki dla początkujących użytkowników Linuksa (pomocne)

Spisie treści:

Anonim

Źródło obrazu: pixabay.com

Skrypty powłoki w systemie Linux - komputery ogólnie rozumieją język zer i jedynek, który jest znany jako język binarny. Kilkadziesiąt lat temu ludzie pisali programy i aplikacje, takie jak nawet kalkulatory, w językach binarnych. Ale to nie było ładne. Tylko wyobraźnia! Chcesz obliczyć 73 + 96, jak byś napisał? Trzeba raczej obliczyć całkowitą liczbę binarną dla 73 i 96, a następnie dodać je. Osoba musi być dość głupia, aby to zrobić. Wolimy obliczyć 73 i 96 na papierze i przejść dalej. Ale to dotyczy mniejszej części. Co jeśli musisz obliczyć coś takiego (19273/23 * (2967 3)). Powiedziałbym teraz, że jest to dość intensywne.

Tak więc człowiek, który uczy się kodować wszystko w języku binarnym, nie ma sensu. To jest główny powód, dla którego komputery nie były popularne w latach 70. i 80. Ale później, jeszcze przed opracowaniem systemu Windows, ludzie zaczęli opracowywać jądra i podobne rzeczy, które były podstawową częścią systemu operacyjnego. Jądra rozumiały format konkretnego programu w postaci czytelnej dla człowieka, a następnie przekształcały go w kod maszynowy. I tu pojawiły się języki programowania, które zmieniły całą erę świata komputerów. Aplikacje zostały zbudowane w C i C ++, a później w Javie, Python, Ruby i Perl.

Obecnie dostępnych jest ponad 50 języków programowania. I to przynajmniej te, które znam. Nie mówiąc już o tym, że istnieją inne języki programowania, które są jeszcze trudniejsze do zrozumienia niż kod maszynowy. Chodzi mi o przykłady takie jak programowanie kurczaka i Malbolge. Są to poważne, nieprzyjemne rzeczy do rozwiązania.

Programowanie powłoki… .errr… Skrypty?

Być może zastanawiasz się, dlaczego nie wspomniałem powyżej o programowaniu Shell razem z innymi językami programowania. Głównym powodem, dla którego sama Shell nie jest językiem programowania. To jest język skryptowy. Shell jest tylko interaktywnym programem użytkownika, który interpretuje wszelkie dane wejściowe od użytkownika i daje wynik pod warunkiem, że polecenie jest prawidłowe. Następnie przekazuje program do jądra, aby go wykonać. Powłoka nie jest częścią jądra, ale zamiast tego używa jądra do wykonywania i tworzenia plików.

Rodzaje programu skryptów powłoki

Teraz, w przeciwieństwie do C, C ++ lub Java, istnieje kilka innych rodzajów powłok, których można używać do tworzenia skryptów powłoki. Oto cztery rodzaje powłok dostępnych do daty:

Nie.Typ muszliOpis
1.Bash alias Bourne Again ShellJest to najczęstsza powłoka dostępna we wszystkich systemach Linux i Debian. Jest to oprogramowanie typu open source i bezpłatne.
2)Powłoka CSH lub C.Ten program skryptowy Shell używa składni powłoki programowania C i jest prawie podobny do C.
3)KSH lub Korn ShellKorn to uniksowy program skryptowy Shell, początkowo oparty na Bash Shell Scripting. Ta powłoka jest dość zaawansowana i jest językiem programowania wysokiego poziomu.
4TCSHNie ma określonej pełnej formy TCSH. Jest jak jest. TCSH to zaawansowana wersja powłoki Berkeley Unix C. Ponownie obsługuje składnię w stylu C.

Na dzień dzisiejszy nie interesują nas wszystkie powyższe powłoki. Interesuje nas tylko powłoka Bash, ponieważ jest to obecnie najczęściej używana powłoka na świecie.

The Bash Shell

Program skryptowy Bash Shell jest językiem skryptowym wysokiego poziomu, podobnym do języka Python. Ale jeśli masz już jakieś doświadczenie z Pythonem, przekonasz się, że Bash Shell Scripting jest znacznie łatwiejszy niż jakikolwiek inny język skryptowy. Skrypty można pisać szybciej niż w C, C ++, Java czy Python. Domyślny terminal w dzisiejszym środowisku Linuksa, na przykład: - Ubuntu, Linux Mint Cinnamon / Rafaela, Fedora, Arch Linux lub inne środowisko Debiana składa się z Bash jako domyślnej powłoki. Możesz jednak sprawdzić wszystkie środowiska powłoki obecne w systemie, wpisując następujące polecenie w domyślnym terminalu: -

$ cat / etc / shells

(Uwaga: znak dolara na początku służy do identyfikacji terminalu.)

Składnia „cat” służy do odczytu plików tekstowych. Typy programów skryptowych powłoki w środowisku Linux, Unix lub Debian są przechowywane w pliku powłoki w katalogu etc. Każda powłoka ma swój unikalny zestaw składni i własny zestaw wbudowanych funkcji. DOS lub Windows mają również własną powłokę znaną jako niesławny „wiersz polecenia” lub „PowerShell” od Windows 8.1, ale nadal nie jest tak potężny jak bash. Składnia cat wyświetli listę powłok dostępnych w systemie, jednak aby znaleźć domyślną powłokę lub sprawdzić bieżącą za pomocą powłoki, można użyć następującej składni w Terminalu skryptowym powłoki: -

$ echo $ SHELL

Składnia „echo” służy do drukowania dowolnej instrukcji. Tutaj „SHELL” jest zmienną przypisaną do drukowania bieżącej powłoki. Znak dolara po „echu” jest używany do reprezentowania zmiennej w Skrypcie powłoki.

Polecane kursy

  • Kurs certyfikacyjny z Java Hibernacja
  • Kurs wiosenny Java
  • Szkolenie online WordPress
  • Szkolenie Ruby

Skrypty powłoki

Teraz, kiedy już wiesz, co to jest powłoka, spójrzmy na Skrypty powłoki i dlaczego jest ona znana. Skrypty powłoki to nic innego jak seria poleceń w prostym pliku tekstowym zakończonym rozszerzeniem „.sh”. „.Sh” określa, że ​​jest to plik wykonywalny powłoki. Po napisaniu skryptu powłoki należałoby zmienić uprawnienia do pliku wykonywalnego za pomocą funkcji chmod. Domyślnie żadna nowo utworzona powłoka nie jest wykonywalna w środowisku UNIX lub Linux, chyba że uprawnienia zostaną specjalnie zmienione. Skrypty powłoki są prawie podobne do programowania wsadowego w systemie Windows, ale różnica polega na tym, że Skrypty powłoki są bardziej wydajne i zapewniają znacznie bardziej zaawansowane środowisko interaktywne wraz z uzupełnieniami tabulatorów. Aby napisać skrypt powłoki, należy skorzystać z dobrego edytora tekstu. Kilka lepszych, które znam, to Vim, Gedit i Leafpad.

W przeciwieństwie do innych języków programowania, skrypty Shell są szybsze w pisaniu i wykonywaniu. Aby wykonać, nie trzeba pobierać żadnych konkretnych pakietów ani zależności. Mogą być używane nie tylko przez administratora systemu, ale także przez zwykłą osobę do codziennego wykonywania automatycznych skryptów. Poniżej znajduje się prosty przykład skryptu napisanego tutaj.

#! / bin / bash echo -e „Witamy w pierwszym programie powłoki. \ n” echo -e „Napisz coś tutaj, a ten program wydrukuje to samo. \ n” #zapytanie użytkownika o dane wejściowe odczyt wejście # odczytanie danych wejściowych z echo użytkownik „Ty wprowadzono: $ input ” wyjście 0

Teraz pozwól mi wyjaśnić wszystkie parametry w powyższym kodzie. Najpierw napisz powyższy kod w pliku tekstowym w formacie „jak jest” i zapisz go z rozszerzeniem kończącym się na „.sh”. Na przykład nazwij plik „main_program.sh”. Upewnij się, że nie jest to „main_program.sh.txt”. Większość początkujących robi to samo, a wtedy nie jest to wykonywalne. Po skopiowaniu powyższego kodu zmień jego uprawnienia, używając następującej składni w terminalu: -

$ chmod + x main_program.sh LUB $ chmod 755 main_program.sh

Możesz użyć dowolnego z powyższych poleceń, ponieważ oba robią to samo. We współczesnych programach skryptowych powłoki bash „755” zmienia się na „+ x”; więc nie ma znaczenia, którego używasz. Po zmianie uprawnień wpisz następujące polecenie, aby je wykonać.

$. / main_program.sh

Kropka i ukośnik służą do identyfikowania i wykonywania skryptów powłoki. Po wykonaniu powyższego skryptu wydrukuje on pierwszą instrukcję echa, a następnie poprosi o wprowadzenie danych. Po wprowadzeniu wydrukuje ci to samo i opuści interpretera. Pozwól mi więc wyjaśnić wszystkie powyższe składnie. „#! / Bin / bash” służy do poinformowania tłumacza, że ​​jest to skrypt bash, a program skryptowy powłoki Bash znajduje się w katalogu „bin”. Polecenie „echo” służy do drukowania dowolnej instrukcji, a flaga „-e” służy do wskazania powłoce, że będzie albo nowy wiersz oznaczony jako „ukośnik n lub \ n” albo ukośnik „ukośnik t lub \ t ”lub podobnego rodzaju w powtórzonym wyrażeniu. Część haszująca w drugim wierszu służy do identyfikowania komentarza w skrypcie bash. Cokolwiek napiszesz po skrócie, zostanie zakomentowane i nie zostanie wykonane. Ale nie dotyczy to „#! / Bin / bash” w pierwszym wierszu. Tak właśnie powinien działać skrypt. Składnia „read” służy do odczytu dowolnego wejścia użytkownika. A „wejście”, o którym wspomniałem po składni „odczytu”, jest zmienną, w której przechowywane są dane wejściowe od użytkownika. Można użyć dowolnej zmiennej zamiast danych wejściowych. W drugim ostatnim wierszu wejście $ służy do identyfikowania się jako zmienna i wyprowadzania zapisanych danych wejściowych w nim. Na koniec polecenie wyjścia służy do wyjścia z interpretera z zerowym zerowym wyjściem.

Nieinteraktywne skrypty

Teraz powyższy przykład jest po prostu dość łatwy. Ale są wbudowane moduły, których można użyć zamiast samodzielnie podawać wszystkie dane wejściowe. Poniżej znajduje się fragment kodu, który wypisuje nazwę użytkownika, który jest aktualnie zalogowany, aktualną godzinę, datę kalendarza i liczbę loginów: -

#! / bin / bash # Ten skrypt wydrukuje informacje o aktualnie zalogowanym użytkowniku, liczbie zalogowanych użytkowników, dacie, godzinie i kalendarzu echo „Witaj, $ USER” echo „Dzisiejsza data i godzina to„ data ”” echo „Liczba zalogowanych użytkowników:` who | wc -l` ”

echo „Kalendarz”

cal

wyjście 0

Uruchom ten skrypt po zmianie uprawnień do powyższego pliku. Być może zastanawiasz się, że w poprzednim skrypcie faktycznie wprowadziliśmy dane wejściowe, a następnie zwrócono dane wejściowe za pomocą zmiennej th. Ale tutaj nie podaliśmy żadnych danych wejściowych do zmiennej „USER”, więc dlaczego drukuje dokładnego użytkownika. Głównym powodem jest to, że te rzeczy są już skonfigurowane w systemie. Pamiętasz, jak mówiłem wcześniej o SHELL $ na początku, jak to jest domyślnie zdefiniowane? Tak, podobnie jest z USER $ tutaj. Jeśli chodzi o datę, jeśli wpiszesz „data” bez cudzysłowów w terminalu, wydrukuje dokładną datę i godzinę. Właśnie użyłem pojedynczego cudzysłowu (`), aby zidentyfikować się jako składnia, a nie część echa instrukcji. Pojedynczy cudzysłów (`) wykona każdą składnię wydrukowaną w nim, czy to w instrukcji, czy gdziekolwiek indziej. Jeśli chodzi o liczbę użytkowników, komenda „who” służy do sprawdzania zalogowanych użytkowników wraz z zalogowanymi procesami oraz datą i godziną rozpoczęcia. Ale jeśli chodzi o powyższe polecenie, faktycznie je obciąłem, aby wyświetlić tylko liczbę zalogowanych użytkowników za pomocą polecenia „wc -l”. Pasek (|) lub tak zwany potok służy do łączenia dwóch poleceń. Rura w rzeczywistości oznacza znacznie więcej, ale nie będę się tutaj zajmował zbyt szczegółami. I w końcu wydrukowałem kalendarz za pomocą wbudowanego polecenia „cal” do wydrukowania bieżącej daty w kalendarzu.

The Exit Zero

Exit Zero to coś, czego nie wyjaśniłem w żadnym z wyżej napisanych programów. Głównym powodem jest to, że „Exit Zero” ma znacznie większą grawitację niż jakakolwiek z powyższych składni w Skrypcie powłoki. Domyślnie za każdym razem, gdy wykonujesz skrypt w dystrybucji Linux lub Unix, zwraca on dwa typy wartości, a dokładniej status wyjścia, aby sprawdzić, czy wykonanie skryptu powłoki zakończyło się powodzeniem, czy nie. Jeśli zwraca wartość zero, oznacza to, że wykonanie zakończyło się powodzeniem, w przeciwnym razie albo nie zostanie wykonane, albo wystąpił błąd podczas wykonywania. Zatem wpisanie „exit 0” na końcu dowolnego skryptu sprawdza status wykonania skryptu.

Wszystkie rzeczy, które tu omówiłem, są tylko najmniej podstawową częścią skryptów Shell w dystrybucji linux. Wyjściowa część zerowa i potok odgrywają ważną rolę podczas wykonywania wielu skryptów powłoki w poleceniach Linux i używania jej wraz z warunkowymi instrukcjami if i else.

Powiązane artykuły:-

Oto kilka artykułów, które pomogą Ci uzyskać więcej szczegółowych informacji na temat typów skryptów powłoki dla początkujących w systemie Linux, więc po prostu przejdź przez link.

  1. Wywiady ze skryptami powłoki 10 najważniejszych przydatnych pytań
  2. Linux vs Windows - odkryj 9 najbardziej niesamowitych różnic
  3. Linux Wywiad Pytania i odpowiedzi | Przydatne i najczęściej zadawane pytania
  4. Kariera w administracji Linuksem
  5. Reguły i parametry parametrów skryptu powłoki