Co to jest skrypt Bash?

What Is Bash Script



Czy słyszałeś kiedyś, jak twój ojciec kazał ci wziąć szklankę wody? Możesz powiedzieć Nie, ale komputery nie mają takiego wyboru. Komputery zrobią dokładnie to, co im każesz. Bash to tylko powłoka, która pozwala komunikować się z komputerem i wydawać mu instrukcje. Skrypt to po prostu zestaw instrukcji przekazywanych komputerowi w celu wykonania różnych znaczących zadań. Skrypt pomaga zautomatyzować różne zadania wraz z luksusem osiągania wyników szybciej niż normalna procedura. Zwykle w terminalu piszesz podstawowe lub zaawansowane polecenie bash i wykonuje się je od razu. W skryptach bash można było podać wiele instrukcji lub poleceń naraz, a komputer wykonałby je wszystkie tylko wtedy, gdy wykonasz skrypt. Krótko mówiąc, w terminalu można wykonać pojedyncze polecenie bash, ale aby wykonać kombinację wielu poleceń jednocześnie, musisz utworzyć skrypt bash.

Dlaczego bash jest przydatny i dla kogo jest przydatny?

Jeśli chcesz mieć większą kontrolę nad swoim systemem operacyjnym i chcesz wykonywać różne zadania związane z systemem operacyjnym, bash jest twoją drogą. Przez bash odnosimy się nie tylko do języka skryptowego, ale także do narzędzi dostarczanych z systemem operacyjnym Linux. Każde narzędzie w systemie Linux ma swoją pracę i każde wykonuje inne zadanie indywidualnie. Bash jest naprawdę przydatny, gdy musisz połączyć wszystkie te narzędzia i połączyć je w taki sposób, aby wszystkie działały harmonijnie, aby wykonać zadanie, które naprawdę trudno byłoby wykonać w inny sposób. Na przykład wszystko, co ma coś wspólnego z systemem operacyjnym Linux, można również wykonać w innych językach programowania, takich jak Python lub Perl, ale bardzo trudno jest wykonać różne zadania związane z systemem operacyjnym. Prostym, czarno-białym i najłatwiejszym sposobem na zrobienie wszystkiego, co dotyczy systemu operacyjnego Linux, jest użycie bash. Dla każdego, kto chce wykonywać zadania, które zawierają narzędzia systemu operacyjnego Linux (takie jak ls, cd, cat, touch, grep, itp.), bardzo przydatne jest nauczenie się bash zamiast jakiegokolwiek innego języka programowania.







Jak Bash wypada na tle innych języków programowania?

Jeśli mówimy o basha, to wiemy, że bash nie jest językiem programowania ogólnego przeznaczenia, ale interpreterem wiersza poleceń. Bash jest naprawdę przydatny do wykonywania zadań wokół różnych narzędzi i procesów z możliwością łączenia ze sobą różnych procesów i sprawienia, aby wszystkie działały w kierunku jednego celu. Bash jest naprawdę przydatny, jeśli chodzi o manipulowanie danymi wejściowymi i wyjściowymi, co jest naprawdę trudne w innych językach programowania ogólnego przeznaczenia, takich jak python, C itp. Jednak, jeśli chodzi o struktury danych i złożone zadania, takie jak jak manipulowanie złożonymi danymi, bash nie radzi sobie z takimi zadaniami i musimy szukać języków programowania, takich jak Python, Perl, C itp. W językach programowania można budować oprogramowanie lub narzędzie, ale nie można zbudować żadnego z nich w bash. Możesz jednak użyć bash, aby uruchomić narzędzia lub połączyć te narzędzia, aby działać wydajnie. To jak budowanie rakiety, jeśli weźmiemy pod uwagę tę metaforę, języki programowania pomogą ci zbudować rakietę, a bash pomoże ci ją prowadzić i ustawić jej kierunek oraz wylądować na Księżycu lub Marsie.



Jak tworzyć i uruchamiać skrypty Bash?

Aby utworzyć skrypt bash, musisz najpierw utworzyć plik tekstowy z rozszerzeniem .sh na końcu nazwy pliku. Możesz utworzyć plik skryptowy bash za pomocą terminala.



$dotykaćskrypt.sh


Po wpisaniu powyższego polecenia naciśnij klawisz Enter, a otrzymasz plik skryptowy bash utworzony w bieżącym katalogu roboczym. Ale to nie to, stworzyliśmy plik skryptowy, ale musimy wykonać pewne czynności, aby ukończyć skrypt i go uruchomić. Przede wszystkim otwórz plik skryptu w edytorze nano lub gedit i w pierwszej linii wpisz:





#!/kosz/bash


Jest to standardowa pierwsza linia dla każdego pliku skryptowego bash, która pomaga w rozpoznaniu go jako skryptu bash. Każdy skrypt, który nie ma #!/bin/bash w pierwszym wierszu, nie będzie uważany za skrypt bash, więc pamiętaj, aby dodać tę linię na początku każdego skryptu. Po dodaniu tej linii możesz teraz zacząć pisać do skryptu. Na przykład napisałbym tutaj proste polecenie echo:

$wyrzuciłOto LinuxHint, najlepsza platforma edukacyjnadlaGrzmotnąć


Po napisaniu tego polecenia możesz teraz je zapisać i wrócić do swojego terminala. Napisz w swoim terminalu:



$ls -do


Możesz zobaczyć „script.sh” napisany w kolorze białym, co oznacza, że ​​skrypt jest plikiem niewykonywalnym, ponieważ pliki wykonywalne są zwykle w kolorze zielonym. Następnie spójrz na lewą stronę, gdzie możemy zobaczyć wzorzec taki jak -rw-r–r–, który odzwierciedla, że ​​plik jest tylko do odczytu i zapisu.
Pierwsza część zawierająca „rw” to uprawnienia właściciela, prawdopodobnie obecnego użytkownika.

Druga część zawierająca „r” to uprawnienie dla grupy, w której mamy wielu użytkowników.

Podczas gdy trzecia część zawierająca „r” jest pozwoleniem dla publiczności, co oznacza, że ​​każdy może mieć te uprawnienia do wspomnianego pliku.

„r” oznacza uprawnienia do odczytu, „w” oznacza uprawnienia do zapisu, „x” oznacza uprawnienia do wykonywania. Najwyraźniej nie widzimy x w stosunku do „script.sh”. Aby dodać uprawnienia do wykonywania, można to zrobić na dwa sposoby.

Metoda 1

W tej metodzie możesz napisać proste polecenie chmod z „+x” i dodać uprawnienia do wykonywania.

$chmod+ x skrypt.sh


Jednak nie jest to najskuteczniejszy sposób nadawania uprawnień do wykonywania, ponieważ daje uprawnienia do wykonywania nie tylko właścicielowi, ale także grupie i publiczności, czego z pewnością nie chcemy ze względów bezpieczeństwa. Spójrz:

Metoda 2

W tej metodzie możesz używać liczb do dyktowania uprawnień pliku. Zanim do tego przejdziemy, chciałbym krótko przedstawić, co oznaczają te liczby i jak można ich używać do manipulowania uprawnieniami.
odczyt = 4
napisz = 2
wykonanie = 1
Numery uprawnień będą składały się z trzech cyfr po poleceniu chmod, a każda cyfra reprezentuje uprawnienia właściciela, grupy i innych (publicznych). Na przykład, aby nadać właścicielowi uprawnienia do odczytu, zapisu i wykonywania, a grupie i innym osobom uprawnienia do odczytu, wyglądałoby to mniej więcej tak:

$chmod 744skrypt.sh


Gdybyś mógł zauważyć, to doszedłbyś do wniosku, że dodaliśmy liczby odczytu, zapisu i wykonania dla właściciela w pierwszej cyfrze jako 4+2+1=7, a dla grupy i innych używamy cyfry read tj. 4.

Uruchom skrypt Bash

Teraz w końcu dotarliśmy do punktu, w którym możemy uruchomić skrypt bash. Aby uruchomić skrypt bash, musisz upewnić się, że jesteś w bieżącym katalogu roboczym, w którym znajduje się twój skrypt. Nie jest to obowiązkowe, ale w ten sposób jest to łatwe, ponieważ nie musisz pisać całej ścieżki. Kiedy już to zrobisz, teraz idź dalej i napisz w swoim terminalu ./nameofscript.sh. W naszym przypadku nazwa skryptu to ‘script.sh’, więc napisalibyśmy:

$./skrypt.sh

3 proste przykłady skryptu Bash

Witaj LinuxWskazówka
Przede wszystkim stworzylibyśmy plik bash w obecnym katalogu roboczym:

$nanoF_skrypt.sh


Wewnątrz pliku musisz napisać:

#!/kosz/bash
wyrzucił 'Witaj LinuxWskazówka'


Po napisaniu teraz spróbuj nacisnąć Ctrl + O, aby zapisać zmiany w pliku, a jeśli chcesz zachować tę samą nazwę, naciśnij Enter, w przeciwnym razie edytuj nazwę, a następnie naciśnij Enter. Teraz naciśnij Ctrl + X, aby wyjść z edytora nano. Teraz zobaczysz plik o nazwie F_script.sh w swoim obecnym katalogu.
Aby uruchomić ten plik, możesz zmienić jego uprawnienia, aby był wykonywalny lub możesz napisać:

$grzmotnąćF_skrypt.sh


Echo Command
Kiedy mówimy o poleceniu echo, jest ono po prostu używane do drukowania prawie wszystkiego, co chcesz wydrukować, o ile jest napisane w cudzysłowie. Zwykle, gdy uruchamiasz polecenie echo bez żadnej flagi, pozostawia linię, a następnie wyświetla dane wyjściowe. Na przykład, jeśli mamy skrypt:

#!/kosz/bash
wyrzucił „Drukuj w następnym wierszu”

Po zapisaniu, jeśli go uruchomimy:

$grzmotnąćF_skrypt.sh


Jeśli użyjemy flagi „-n” z echem, zostanie ona wydrukowana w tym samym wierszu.

#!/kosz/bash
wyrzucił -n „Drukuj w tej samej linii”

Po zapisaniu, jeśli go uruchomimy:

$grzmotnąćF_skrypt.sh


Podobnie, jeśli użyjemy „ ” lub „ ” w podwójnych cudzysłowach, wydrukuje się tak, jak jest.

#!/kosz/bash
wyrzucił ' Drukuj naTta sama linia '


Jeśli jednak użyjemy flagi „-e”, to wszystko nie tylko zniknie, ale także zastosuje i , a zmiany można zobaczyć w poniższym wyniku:

#!/kosz/bash
wyrzucił -I ' Drukuj naTta sama linia '


Komentarze w BASH
Komentarz to linia, która nie ma znaczenia dla komputera. Cokolwiek napiszesz jako komentarz, zostanie unieważnione lub zignorowane przez komputer i nie ma żadnego wpływu na pisany kod. Komentarze są zwykle uważane za bardziej użyteczny sposób dla programisty, aby zrozumieć logikę kodu, tak że kiedy wraca do przerabiania fragmentów kodu, komentarze te mogą przypominać mu logikę i powody, dla których napisał kod w określonym sposób. Komentarze mogą być również używane przez innych programistów, którzy mogą chcieć wprowadzić zmiany w kodzie. Jeśli napisałeś fragment kodu i nie chcesz go usuwać, ale chcesz zobaczyć wynik bez tego konkretnego fragmentu kodu, możesz skomentować ten konkretny fragment kodu i kontynuować. Twój program będzie działał dobrze, da dobre wyniki, gdy ten dodatkowy kod jest nadal obecny w twoim skrypcie, ale jest nieskuteczny z powodu komentarzy. Za każdym razem, gdy chcesz ponownie użyć tego fragmentu kodu, odkomentuj te wiersze i możesz już iść.
Istnieją dwa sposoby pisania komentarzy w bash; jednym sposobem jest pisanie komentarzy jednowierszowych, a drugim jest pisanie komentarzy wielowierszowych.

Komentarze jednowierszowe
W komentarzach jednowierszowych używamy znaku „#”, który pomaga skomentować cały wiersz. Wszystko, co jest napisane w wierszu, po którym następuje „#”, zostanie potraktowane jako komentarz i nie będzie miało rzeczywistej wartości podczas wykonywania skryptu. Ten jednowierszowy komentarz może służyć do przekazywania logiki i zrozumienia kodu osobie, która ma do niego dostęp.

#!/kosz/bash
wyrzucił -I ' Drukuj naTta sama linia '
#Ten skrypt pomaga nam zastosować kombinację /n i /t



Komentarze wielowierszowe
Załóżmy, że chcesz skomentować sto wierszy w swoim skrypcie. W takim przypadku trudno byłoby używać komentarzy jednowierszowych. Nie chcesz tracić czasu na umieszczanie # w każdej linii. Możemy użyć ‘:’, a następnie ‘cokolwiek na komentarz’. Pomoże Ci to skomentować wiele linii, po prostu wpisując 3 symbole, które są przydatne i przydatne.

#!/kosz/bash”
: ‘ To jest skrypt, który zapewnia pewność
że i działają i są stosowane
wsposób, w jaki mamy wymagany wynik”
wyrzucił -I ' Drukuj naTta sama linia '



Spójrz na 30 przykładów skryptów Bash na Linuxhint.com:

30 przykładów skryptów Bash

6 najważniejszych lekcji Bash Scripting

1. Oświadczenie warunkowe
Wyrażenie warunkowe jest bardzo przydatnym narzędziem w podejmowaniu decyzji. Jest szeroko stosowany w językach programowania. Częściej musimy podejmować decyzje w oparciu o określone warunki. Instrukcja warunkowa ocenia dany warunek i podejmuje decyzję. W bash używamy również instrukcji warunkowej, jak każdego innego języka programowania. Składnia instrukcji warunkowej w bash różni się nieco od innych języków programowania. Warunek if jest najczęściej używaną instrukcją warunkową w bash i innych językach programowania ogólnego przeznaczenia. Warunek if ocenia dany warunek i podejmuje decyzję. Dany warunek jest również nazywany wyrażeniem testowym. Istnieje wiele sposobów wykorzystania warunku if w bash. Warunek if jest używany z blokiem else. W przypadku, gdy dany warunek jest spełniony, to instrukcje wewnątrz bloku if są wykonywane, w przeciwnym razie wykonywany jest blok else. Istnieje wiele sposobów użycia instrukcji warunkowej if w Bash, które są następujące:

  1. Instrukcja if
  2. Oświadczenie if else
  3. Zagnieżdżona instrukcja if
  4. Stwierdzenie if elif

Instrukcja if
Instrukcja if ocenia tylko dany warunek, jeśli dany warunek jest spełniony, wtedy instrukcje lub polecenia wewnątrz bloku if są wykonywane, w przeciwnym razie program zostaje zakończony. W bash, jeśli warunek zaczyna się słowem kluczowym if i kończy słowem kluczowym fi. Słowo kluczowe then służy do definiowania bloku instrukcji lub poleceń, które są wykonywane, gdy określony warunek jest spełniony. Zadeklarujmy zmienną i użyjmy warunku if do oceny wartości zmiennej, niezależnie od tego, czy jest większa niż 10, czy nie. -gt służy do oceny warunku większe niż, podczas gdy -lt jest używane do oceny warunku mniejsze niż.

#!/kosz/bash
GDZIE=100
#deklarowanie warunku if
Jeśli [ $ WAR -gt 10 ]
następnie
wyrzucił 'Ten$ WARjest większe niż 10'
#zakończenie warunku if
być


Oświadczenie if else
Instrukcja if else jest również używana jako instrukcja warunkowa. Instrukcje lub polecenia po warunku if są wykonywane, jeśli dany warunek jest prawdziwy. W przeciwnym razie blok else jest wykonywany, jeśli dany warunek nie jest spełniony. Po bloku else następuje blok if i zaczyna się od słowa kluczowego else.

#!/kosz/bash
GDZIE=7
#deklarowanie warunku if
Jeśli [ $ WAR -gt 10 ]
następnie
wyrzucił 'Ten$ WARjest większe niż 10'
#deklarowanie innego bloku
w przeciwnym razie
wyrzucił 'Ten$ WARjest mniej niż 10'
#zakończenie warunku if
być


Wiele warunków można ocenić za pomocą warunku if. Możemy użyć operatora i (&) oraz operatora (II) do oceny wielu warunków w pojedynczej instrukcji if.

#!/kosz/bash
GDZIE=20
#deklarowanie warunku if
Jeśli [[ $ WAR -gt 10 && $ WAR -lt 100 ]]
następnie
wyrzucił 'Ten$ WARjest większa niż 10 i mniejsza niż 100'
#deklarowanie innego bloku
w przeciwnym razie
wyrzucił „Warunek nie spełnia”
#zakończenie warunku if
być


Zagnieżdżona instrukcja if
W zagnieżdżonej instrukcji if mamy instrukcję if wewnątrz instrukcji if. Pierwsza instrukcja if jest oceniana, jeśli jest prawdziwa, to druga instrukcja if jest oceniana.

#!/kosz/bash
GDZIE=20
#deklarowanie warunku if
Jeśli [[ $ WAR -gt 10 ]]
następnie
#jeśli warunek w innym, jeśli warunek
Jeśli [ $ WAR -lt 100 ]
następnie
wyrzucił 'Ten$ WARjest większa niż 10 i mniejsza niż 100'
#deklarowanie innego bloku
w przeciwnym razie
wyrzucił „Warunek nie spełnia”
#zakończenie warunku if
być
w przeciwnym razie
wyrzucił 'Ten$ WARjest mniej niż 10'
być


Stwierdzenie if elif
Instrukcja if elif służy do oceny wielu warunków. Pierwszy warunek zaczyna się od bloku if, a po pozostałych warunkach następuje słowo kluczowe elif. Rozważmy poprzedni przykład z liczbą zmiennych i zaimplementujmy instrukcję if elif w naszym skrypcie bash. Równanie jest używane jako operator równości.

#!/kosz/bash
GDZIE=20
#deklarowanie warunku if
Jeśli [[ $ WAR -równe 1 ]]
następnie
wyrzucił 'Wartość zmiennej jest równa 1'
Elifa [[ $ WAR -równe 2 ]]
następnie
wyrzucił 'Wartość zmiennej jest równa 2'
Elifa [[ $ WAR -równe 3 ]]
następnie
wyrzucił 'Wartość zmiennej jest równa 2'
Elifa [[ $ WAR -gt 5 ]]
następnie
wyrzucił 'Wartość zmiennej jest większa niż 5'
być


2. Zapętlanie
Pętle są podstawową i podstawową częścią każdego języka programowania. W przeciwieństwie do innych języków programowania, pętle są również używane w Bash do wielokrotnego wykonywania zadania, dopóki dany warunek nie zostanie spełniony. Pętle są iteracyjne, są świetnym narzędziem do automatyzacji podobnych typów zadań. Pętla for, pętla while i dopóki pętla nie zostanie użyta w Bash.
Omówmy te pętle jedna po drugiej.

Pętla while
Pętla while wykonuje wielokrotnie te same instrukcje lub polecenia. Ocenia warunek i uruchamia instrukcje lub polecenia, dopóki warunek nie zostanie spełniony.
Jest to podstawowa składnia używania pętli while w Bash.

Chociaż [ warunek lub wyrażenie testowe ]
robić
sprawozdania
Gotowe

Zaimplementujmy pętlę while w naszym pliku script.sh. Mamy zmienną VAR, której wartość jest równa zero. W pętli while postawiliśmy warunek, że pętla powinna działać, dopóki wartość VAR nie będzie mniejsza niż 20. Wartość zmiennej jest zwiększana o 1 po każdej iteracji. Tak więc w tym przypadku pętla zacznie się wykonywać, dopóki wartość zmiennej nie będzie mniejsza niż 20.

#!/kosz/bash
GDZIE=0
podczas [ $ WAR -lt 20 ]
robić
wyrzucił 'Aktualna wartość zmiennej to$ WAR'
#zwiększanie wartości o 1 w VAR
GDZIE= $((WAR +1))
Gotowe


Pętla for
Pętla for jest najczęściej używaną pętlą w każdym języku programowania. Służy do wykonania zadania iteracyjnego. To najlepszy sposób na wykonywanie powtarzalnych zadań. Zadeklarujmy pętlę for w naszym pliku script.sh i użyjmy jej do wykonania powtarzającego się zadania.

#!/kosz/bash
GDZIE=0
dla (( i==0; i<20; i++))
robić
wyrzucił „Witam i witam w linuxhint”
#inkrementacja zmiennej i
i= $((ja+1))
Gotowe
wyrzucił „To koniec pętli for”


Do pętli
Innym typem pętli używanym w Bash jest pętla dopóki. Wykonuje również lub wykonuje ten sam zestaw wielokrotnie. Pętla until ocenia warunek i rozpoczyna wykonywanie, dopóki podany warunek nie będzie fałszywy. Pętla until kończy się, gdy dany warunek jest spełniony. Składnia pętli until jest następująca:

do [ warunek ]
robić
sprawozdania
polecenia
Gotowe

Zaimplementujmy pętlę until w naszym pliku script.sh. Pętla dopóki nie zostanie uruchomiona, chyba że warunek jest fałszywy (wartość zmiennej jest mniejsza niż 20)

#!/kosz/bash
GDZIE=0
dopóki [ $ WAR -gt 20 ]
robić
wyrzucił „Witam i witam w linuxhint”
#inkrementacja zmiennej i
GDZIE= $((WAR +1))
Gotowe
wyrzucił „To koniec pętli do”


3. Czytanie od użytkownika i pisanie na ekranie
Bash daje użytkownikowi swobodę wprowadzania wartości ciągu lub danych na terminalu. Wprowadzony przez użytkownika ciąg znaków lub dane można odczytać z terminala, można je zapisać w pliku i wydrukować na terminalu. W pliku Bash dane wejściowe użytkownika można odczytać za pomocą czytać słowo kluczowe i przechowujemy je w zmiennej. Zawartość zmiennej można wyświetlić na terminalu za pomocą polecenia echo.

#!/kosz/bash
wyrzucił „Napisz coś na terminalu”
#przechowywanie wprowadzonej wartości w VAR
czytaćGDZIE
wyrzucił 'Wszedłeś:$ WAR'


W poleceniu read można użyć wielu opcji. Najczęściej używanymi opcjami są -p i -s. Opcja -p wyświetla znak zachęty, a dane wejściowe można pobrać w tym samym wierszu. –s przyjmuje dane wejściowe w trybie cichym. Znaki wejścia są wyświetlane na terminalu. Przydatne jest wprowadzenie pewnych poufnych informacji, np. haseł.

#!/kosz/bash
czytać -P 'Wprowadź e-mail:'e-mail
wyrzucił 'Wprowadź hasło'
czytać -shasło


4. Czytanie i zapisywanie plików tekstowych
Pliki tekstowe są podstawowymi składnikami do odczytu i zapisu danych. Dane są tymczasowo przechowywane w plikach tekstowych i można je łatwo odczytać z pliku tekstowego. Najpierw omówmy zapisywanie danych do pliku tekstowego, a następnie omówimy odczyt danych z plików tekstowych.

Zapisywanie plików tekstowych
Dane można zapisać do pliku na różne sposoby:

  • Używając nawiasu kątowego lub znaku „większy niż” (>)
  • Używając podwójnego wspornika kątowego (>>)
  • Używając polecenia tee

Znak prawego wspornika anioła (>) do zapisywania danych
jest to najczęściej używany sposób zapisywania danych do pliku tekstowego. Zapisujemy dane, a następnie umieszczamy znak >. Znak > wskazuje na plik tekstowy, w którym mamy przechowywać dane. Jednak nie dołącza pliku, a poprzednie dane pliku są całkowicie zastępowane przez nowe dane.

#!/kosz/bash
#użytkownik wprowadza nazwę pliku tekstowego
czytać -P 'Wprowadź nazwę pliku:'PLIK
#użytkownik wprowadza dane do przechowywania w pliku tekstowym
czytać -P 'Zapisz dane do wprowadzenia do pliku:'DANE
#przechowywanie danych w pliku tekstowym
# > wskazuje na nazwę pliku.
wyrzucił $DANE > $PLIK


Znak prawego wspornika anioła (>>) do zapisywania danych
>> służy do przechowywania danych wyjściowych dowolnego polecenia w pliku. Na przykład polecenie ls -al pokazuje zawartość i uprawnienia pliku w określonym katalogu. >> zapisze dane wyjściowe do pliku.

#!/kosz/bash
#użytkownik wprowadza nazwę pliku tekstowego
czytać -P 'Wprowadź nazwę pliku:'PLIK
#przechowywanie wyniku polecenia w pliku
ls -do >> $PLIK



Używanie polecenia tee do zapisywania danych w pliku tekstowym
Polecenie tee w Bash służy do zapisywania danych wyjściowych polecenia do pliku tekstowego. Wypisuje dane wyjściowe polecenia na terminalu i przechowuje je w pliku tekstowym.

#!/kosz/bash
#użytkownik wprowadza nazwę pliku tekstowego
czytać -P 'Wprowadź nazwę pliku:'PLIK
#przechowywanie wyniku polecenia w pliku za pomocą polecenia tee
ls -do | trójnik $PLIK


Komenda tee domyślnie nadpisuje istniejące dane pliku. Jednak do dołączenia pliku można użyć opcji -a z poleceniem tee.

#!/kosz/bash
#użytkownik wprowadza nazwę pliku tekstowego
czytać -P 'Wprowadź nazwę pliku:'PLIK
#przechowywanie wyniku polecenia w pliku za pomocą polecenia tee
ls -do | trójnik -do $PLIK


Czytanie plików tekstowych
ten Kot Polecenie służy do odczytywania danych z pliku. Jest najczęściej używany do tego celu. Po prostu drukuje zawartość pliku tekstowego na terminalu. Wydrukujmy zawartość lub dane pliku na terminalu za pomocą Kot Komenda.

#!/kosz/bash
#użytkownik wprowadza nazwę pliku tekstowego
czytać -P 'Wprowadź nazwę pliku:'PLIK
#odczytywanie danych z pliku tekstowego
Kot $PLIK


5. Uruchamianie innych programów z bash
Bash daje uprawnienia do uruchamiania innych programów ze skryptu Bash. Używamy polecenia exec do uruchamiania innych programów z Bash. Polecenie exec zastępuje poprzedni proces bieżącym procesem i uruchamia bieżący program. Na przykład możemy otworzyć edytor nano, gedit lub vim ze skryptu bash.

#!/kosz/bash
#uruchamianie edytora nano z Bash
exec nano

#!/kosz/bash
#uruchamianie gedit z Bash
execgedit

Podobnie możemy uruchomić aplikację przeglądarki z poziomu Basha. Uruchommy przeglądarkę Mozilla Firefox.

#!/kosz/bash
#uciekający firefox
execfirefox


Co więcej, możemy uruchomić dowolny program z Bash za pomocą polecenia exec.

6. Przetwarzanie wiersza poleceń
Przetwarzanie z wiersza poleceń odnosi się do przetwarzania danych wprowadzonych na terminalu. Dane z wiersza poleceń są przetwarzane w wielu celach, tj. czytanie danych wejściowych użytkownika, zaniżanie poleceń i odczytywanie argumentów. Wcześniej omówiliśmy polecenie odczytu. Polecenie read jest również używane do przetwarzania wiersza poleceń. W tej sekcji omówimy przetwarzanie argumentów wiersza poleceń. W Bash możemy przetwarzać argumenty, które są przekazywane lub zapisywane na terminalu. Argumenty są przetwarzane w taki sam sposób, w jaki są przekazywane. Dlatego nazywa się to parametrami pozycyjnymi. W przeciwieństwie do innych języków programowania, indeksowanie argumentów w Bash zaczyna się od 1. Znak dolara ($) służy do odczytywania argumentów. Na przykład $1 odczytuje pierwszy argument, $2 odczytuje drugi argument i tak dalej. Argumenty mogą być analizowane z różnych powodów, takich jak pobieranie danych wejściowych od użytkownika.

#!/kosz/bash
wyrzucił 'Wpisz swoje imię'
#przetwarzanie pierwszego argumentu
wyrzucił 'Imię:' 1 zł
#przetwarzanie drugiego argumentu
wyrzucił 'Drugie imię:'2 zł
#przetwarzanie trzeciego argumentu
wyrzucił 'Nazwisko:' 3 zł
wyrzucił 'Pełne imię i nazwisko:' 1 zł 2 zł 3 zł


Odczytywanie danych z terminala za pomocą read i parsowanie argumentów to najbardziej odpowiednie przykłady przetwarzania wiersza poleceń.

Historia Bash i porównanie z innymi muszlami

Bash jest obecnie podstawowym składnikiem systemów opartych na systemach UNIX i Linux. Bourne Shell został początkowo opracowany przez Stephena Bourne'a. Zamierzonym celem powłoki Stephena Bourne'a było przezwyciężenie ograniczeń już istniejących powłok w tym czasie. Przed Bourne Shell, UNIX wprowadził Thompson Shell. Jednak powłoka Thompsona była bardzo ograniczona w przetwarzaniu skryptu. Użytkownicy nie byli w stanie uruchomić wystarczającej ilości skryptu. Aby przezwyciężyć wszystkie te ograniczenia powłoki Thompsona, wprowadzono powłokę Bourne. Został opracowany w Bells Lab. W 1989 roku Brian Fox zrewolucjonizował powłokę Bourne'a, dodając wiele innych funkcji i nazwał ją Bourne Again Shell (BASH).

Nazwa powłoki Rok Platforma Opis Porównanie z BASH
Powłoka Thompsona 1971 UNIX Automatyzacja skryptu była ograniczona. Użytkownik może wykonać tylko niewielką ilość skryptów. BASH pokonuje ograniczenia powłoki Thompsona, a użytkownik może pisać duże skrypty.
Muszla Bourne'a 1977 UNIX Pozwala nam pisać i uruchamiać ogromną liczbę skryptów. Bourne Shell nie zapewnia edytora poleceń i większej liczby funkcji skrótów. BASH zapewnia ulepszenia w projekcie wraz z edytorem poleceń.
Powłoka POSIX 1992 POSIX Powłoka POSIX jest przenośna. Zapewnia wiele skrótów i kontrolę zadań. BASH jest popularny do wykonywania zadań, które nie wymagają przenoszenia.
Powłoka Z 1990 UNIX Powłoka Z jest bogata w funkcje. Jest to bardzo potężna powłoka i zapewnia funkcje, takie jak automatyczne uzupełnianie poleceń, poprawianie pisowni i automatyczne wypełnianie. BASH brakuje niektórych funkcji, które zapewnia powłoka Z.

Wniosek

BASH to bardzo potężne narzędzie, które pozwala nam uruchamiać polecenia i skrypty. Skrypt BASH pozwala nam zautomatyzować codzienne zadania i polecenia. Skrypt BASH to połączenie wielu poleceń. Plik BASH kończy się rozszerzeniem .sh. Przed uruchomieniem skryptu BASH musimy zaktualizować uprawnienia do pliku i nadać uprawnienia do wykonywania do pliku .sh. Ten artykuł wyjaśnia skrypty BASH i BASH za pomocą prostych przykładów i ważnych lekcji. Ponadto opisuje historię BASH i porównuje jego cechy z różnymi innymi potężnymi powłokami.