Bash Linux Operatorzy przekierowania

Bash Linux Operatorzy przekierowania
W Linux terminal jest wszystkim, to tam, gdzie przekazujemy polecenia i tam przechodzimy skrypty. Dlatego jednym z najważniejszych języków scenariuszy jest Bash. Skrypty Bash służy do automatyzacji nudnych zadań w Linux. Aby zautomatyzować zadania, polecenia są zapisywane w skrypcie i przedłużenie .cii. W ramach poleceń używane są również niektórzy operatorzy. Operatorzy ci są unikalne dla Bash, a każdy ma swoje własne znaczenie. W tym samouczku dokonamy przeglądu operatorów przekierowań napotkanych podczas scenariuszy i ich konkretnego znaczenia.

Operator przekierowania: <

Symbol < is used for input redirection. Files, for example, can be used as input. However, in this case, the input redirection is a read-only redirection.

Na przykład:

#! /bin/bash
kot < file.txt

W takim przypadku plik.TXT jest traktowany jako wejście, a polecenie CAT to wyciąga go.

Operator przekierowania: <<

Operator przekierowania << is also known as the here-document. The here-document allows one to put a line of input into a command in many.

Na przykład:

#! /bin/bash
kot << EOF
Pierwsza linia
druga linia
EOF
toaleta << EOF
Pierwsza linia
druga linia
EOF

Ok, więc tutaj mamy dwie linie danych wejściowych. W pierwszej sekcji wysyłamy dane wejściowe do kota, które to wszystko wyrzuca. Aw drugiej sekcji liczymy liczbę wierszy, słów i znaków za pomocą polecenia WC. Tak czy inaczej, chodzi o to, że moglibyśmy wysłać wiele linii jako wejście zamiast jednej linii.

Operator przekierowania:>

Ten symbol, znany jako operator przekierowania pliku, jest zwykle używany do przekierowania zawartości polecenia/pliku do innego według nadpisanie To. Uważaj; zastąpi to - w odważnym i kursywaniu!

Na przykład:

#! /bin/bash
Echo „Hello World”> Plik.tekst

Tutaj symbol> jest podobny do 1>. Dzieje się tak, ponieważ 1 jest deskryptorem pliku dla standardowego wyjścia. Należy pamiętać, że deskryptory plików są następujące:

0 - Standardowe wejście, stdin
1 - Standardowe wyjście, stdout
2 - Błąd standardowy, stderr

W poprzednim scenariuszu pojedyncza strzałka do przodu była równoważna 1>. Możemy jednak napisać 2>, aby przekazać błąd standardowy.

Na przykład:

#! /bin/bash
plik MCAT.TXT 2> FILL2.tekst

Tutaj 2> oznacza, że ​​wygenerowany błąd zostanie zrzucony do pliku2.tekst.

Operator przekierowania: >>

Symbol >> służy do dołączania i nie do zastąpienia! Operator przekierowania pliku> zastępuje lub zastępuje wszystko, podczas gdy >> jest używane do dołączania. Ten ostatni doda zawartość określoną do końca pliku.

Na przykład:

#! /bin/bash
Echo „To jest drugi wiersz” >>.tekst
Echo „To jest trzeci wiersz” >>.tekst

Ten ostatni dołączy dwa wiersze do pliku o nazwie plik.tekst. Wynik pliku.TXT będzie wtedy następujący:

Operator przekierowania: |

Operator przekierowania | służy do wysyłania wyjścia pierwszego polecenia jako wejścia drugiego polecenia. Na przykład, jeśli zdam początkowe polecenie, a następnie „rurka” wyjście wygenerowane przez to polecenie za pomocą | operator do drugiego polecenia, zostanie ono odebrane jako wejście, a następnie przetworzone.

Na przykład:

#! /bin/bash
ls-la | SED 'S/BASH/REWIRECTION_OPEROTOR/'

Tutaj sed z poleceniem S jest używany do zastąpienia jednej nazwy drugiemu. Tak więc sed 's/bash/cedirection_operator/' jest używany do zastąpienia bashu słowem słowem przekierowującym_operacyjnym.

Więc co tu robimy? Cóż, „LS -LA” wymienia wszystko szczegółowo, a operator rur weźmie to i wyśle ​​do drugiego polecenia. Drugie polecenie (S/Bash/Redirection_operator/') zastąpi słowo Bash.

Operator przekierowania:> &

Ten symbol przekierowuje zarówno standardowe wyjście, jak i błąd standardowy.

Na przykład;

bash -c 'ls -la> i plik.tekst'

W takim przypadku> i symbol przekierowuje zarówno standardowe wyjście, jak i błąd standardowy do pliku o nazwie plik.tekst. Zatem zarówno generowane wyjście, jak i wygenerowany błąd są umieszczane w tym samym pliku.

Załóżmy teraz, że zamiast tego napiszemy:

bash -c 'mls -la> & plik.tekst'

W takim przypadku należy wygenerować błąd, ponieważ nie ma polecenia MLS. Tutaj błąd zostanie również wysłany do pliku.Dokument TXT.

Operator przekierowania:> |

Są chwile, kiedy nie możesz zastąpić pliku z powodu ograniczeń plików. Załóżmy teraz, że masz plik o nazwie plik.TXT, których nie można zastąpić.

Więc następujące polecenie nie zastąpi pliku:

#! /bin/bash
echo „ehlo”> /tmp /plik.tekst

Używamy operatora> | Aby w takich przypadkach zastąpiło plik w takich przypadkach.

Tutaj napiszemy następujące, aby zastąpić plik siłą:

#! /bin/bash
Echo „ehlo”> | /tmp/plik.tekst

Operator przekierowania: i >>

Operator i >> dołączą standardowe wyjście i błąd standardowy do określonego pliku.

Były:

#! /bin/bash
plik LSL i >>.tekst

W tym przykładzie mamy plik o nazwie plik.TXT, zawierający dwie linie. Kiedy wykonujemy skrypt o nazwie Bash.sh, który zawiera polecenie, które nie istnieje, powinno to rzucić błąd. Ten błąd jest złapany i dołączony do pliku.tekst. Gdyby polecenie nie zawierało żadnych błędów, złapałoby to również i wysłałoby do dołączenia do pliku o nazwie plik.tekst.

Operator przekierowania: <<-

Operator przekierowania <<- will strip all tabs from a multi-line input.

Na przykład:

#! /bin/bash
więcej <<- EOF
Pierwsza linia
druga linia
EOF

Tutaj są zakładki przed dwiema wierszami wejścia (pierwsza linia, druga linia). Ale po generowaniu wyjścia zakładki są ignorowane.

Operator przekierowania:

Operator przekierowania otwiera plik zarówno do czytania, jak i pisania.

Skrypty Bash to kluczowy język skryptowy, którego można użyć do automatyzacji zadań. Podczas scenariuszy Bash napotykamy dużo kodu, ale spotykamy również operatorów przekierowania, które są unikalne dla Bash. Każdy operatorzy odgrywają szczególną rolę w skryptach BASH i nie zawsze są oczywiste. W tym samouczku sprawdziliśmy kilku operatorów przekierowania używanych podczas pisania skryptów Bash. Oczywiście istnieje wielu operatorów przekierowania; Jednak niektóre są tak często spotykane, że konieczne może być je znać podczas scenariuszy Bash. Więc idź, nieustraszony operatorów przekierowania stąd!

Szczęśliwe kodowanie!