Co to jest $@ w skrypcie bash?

Co to jest $@ w skrypcie bash?
Większość z nas używa skryptów bash do konserwacji i niektórych innych zadań. Jednak nie zawsze jesteśmy zaznajomieni z różnymi opcjami bash. Ilekroć użytkownik jest nowicjuszem do powłoki Bash i Linux, użytkownik ma tendencję do poszukiwania wstępnie napisanego skryptu Bash. Wynika to z tego, że niektórzy użytkownicy znaleźli unikalne znaki bash, takie jak $@, $ _ i 1 $ mylące. Począwszy od parametru $@ bash, jest on wykorzystywany do rozszerzania się na argumenty pozycyjne. Każdy parametr rozciąga się na coś takiego jak odrębne słowo za każdym razem, gdy rozszerzanie się odbywa. Oddzielne parametry powinny być zamknięte w cytatach i wyróżniane przestrzenią, jeśli używane jest $@. Pamiętaj, że $@ należy cytować, aby funkcjonować poprawnie. Niemniej jednak zachowuje się podobnie jak argumenty jak odrębne struny.

Będziemy patrzeć na kilka przykładów, aby rozwinąć funkcjonalność $@ w skrypcie Bash podczas używania Ubuntu 20.04 System:

Przykład 01:

Na początku musimy zalogować się z Ubuntu 20.04 Dystrybucja jako użytkownik Sudo. Po udanym logowaniu otworzymy wiersz poleceń, aby rozpocząć działanie. Aby go otworzyć, użyj „Ctrl+alt+t". Alternatywnie możemy również użyć obszaru aktywności, aby znaleźć terminal konsoli ze paska wyszukiwania. Po prawidłowym otwarciu zaczniemy pracować nad $@ w Bash, tworząc nowy plik bash. Więc wykorzystaliśmy „dotykać”Zapytanie o nazwę pliku jako„jeden.cii". Zauważ, że plik bash zawiera „.cii" rozszerzenie. Uderzyć "Wchodzić”Po napisaniu następującej instrukcji w skorupce, aby ją uruchomić. Znajdziesz nowo wygenerowany plik Bash w swoim katalogu domowym Ubuntu 20.04:

$ Touch One.cii

Teraz plik bash został wygenerowany; Musimy go otworzyć w edytorze, aby dodać i edytować w nim skrypt bash. Więc otwieramy go za pomocą „GNU Nano„Edytor z terminalu. Stąd użyliśmy „Nano„Instrukcja słowa kluczowego w powłoce wraz z nazwą pliku jako„jeden.cii”Zgodnie z następującym obrazem:

$ nano One.cii

Musisz napisać następujący trzy-liniowy skrypt w pliku Bash „jeden.cii". Najpierw dodaliśmy rozszerzenie bash w pliku. Następnie użyliśmy trzech instrukcji Echo w tym skrypcie, aby użyć trzech znaków specjalnych i wyświetlania ich odpowiednich wyników. Zauważ, że „$#”Znak został użyty do wyświetlania całkowitej liczby ciągów wejściowych lub parametrów wartości, które będą dodane przez użytkownika w powłoce. „„$@„Znak jest używany do pokazania tych trzech wartości lub parametrów na terminalu i„$?„Postać ma specjalne zadanie do zwrócenia 0, jeśli ostatnie polecenie odniesie sukces. W Bash, „Ctrl+s„Skrót jest często używany do zapisywania pliku bash, a jednocześnie otwiera się w„Nano”Redaktor. Więc zapisz swój jeden.plik sh i pozostaw go za pomocą „Ctrl+x„Aby zwrócić go do terminala:

Teraz nowo utworzony skrypt BASH został zapisany i zabezpieczony w naszym systemie; najwyższy czas, aby był wykonywalny. Musisz zauważyć, że znak taki jak $@ przyjmuje parametry wartości w terminalu podczas wykonywania pliku. Więc użyj „grzmotnąć„Zapytanie słów kluczowych w twojej powładzie Ubuntu z nazwą pliku”jeden.cii”I przypisanie wartości parametrów, jak podano. Możesz zobaczyć z poniższego snap, które dostarczyliśmy 3 wartości parametrów typu typu do scenariusza Bash One.ona.G., AQSA, Rimsha i Awan. Wynik wyjściowy wyświetla wyjście 3 linii. Pierwszy wiersz pokazuje liczbę dodanych parametrów całkowitych. Drugi wiersz wyświetla wartości argumentów przekazywanych przez użytkownika. Na koniec trzeci wiersz pokazuje 0 jako wartość zwracaną, ponieważ polecenie drugiego wiersza odniosło sukces:

$ Bash One.sh arg1 arg2 arg3

Przykład 02:

Aby zrozumieć koncepcję $@ znak i funkcjonalność, potrzebujemy innego przykładu w naszym artykule. Stąd otworzymy ten sam plik ”jeden.cii”, Z redaktorem GNU Nano. W tym celu wypróbowaliśmy następującą instrukcję i kliknęliśmy przycisk „Enter” z klawiatury, aby kontynuować:

$ nano One.cii

Gdy plik jest teraz otwarty, dodamy do niego nowy i zaktualizowany skrypt bash. Tym razem używamy prostego skryptu Bash do opracowania funkcji znaku $@. Musisz więc zaktualizować swój skrypt Bash o ten pokazany na poniższym obrazku. Używamy pętli, aby wziąć jeden element na raz, ponieważ argumenty przekazywane w $@ przez użytkownika na terminalu. Każdy element jest wyświetlany na terminalu za pośrednictwem instrukcji ECHO. Po zapisaniu pliku wróciliśmy do konsoli, aby wykonać skrypt BASH:

W instrukcji BASH przekazaliśmy 5 argumentów typu ciągów wraz z nazwą pliku „jeden.cii". Po uderzeniu „Wchodzić„Klucz, terminal został wyświetlony z każdym argumentem osobno:

$ Bash One.sh arg1 arg2 arg3 arg4 arg5

Przykład 03:

Przyjrzyjmy się bliżej innego samego przykładu $@, jak opracowano powyżej. W tym przykładzie będziemy używać $@ i $* do porównania i różnicowania działania obu znaków specjalnych. W ten sposób będziemy mogli poprawnie zrozumieć działanie znaku $@. Aby otworzyć już utworzony plik „jeden.cii”, Napisz, a następnie uruchom następujące instrukcje w konsoli Ubuntu 20.04.

$ nano One.cii

Zaktualizowaliśmy powyższy przykładowy kod. Wszystko, co zrobiliśmy, to dodać ten sam kod dla „$*”W pętli for. Zapisaliśmy kod bash i opuściliśmy plik:

Podczas wykonywania, ze względu na użycie znaku $*, pokazuje pierwszą linię jako całe parametry. Wszystkie pozostałe linie są wyjściem znaku $@:

$ Bash One.sh arg1 arg2 arg3 arg4 arg5

Przykład 04:

W naszym ostatnim przykładzie będziemy wyjaśniać funkcjonalność znaku $@ za pośrednictwem funkcji i pętli. Dlatego, aby zaktualizować skrypt bash, otworzyliśmy plik „jeden.cii”Po raz kolejny„ przez „Nano„Polecenie edytora w powłoce w następujący sposób:

$ nano One.cii

Tym razem używamy metody foo () do wydrukowania argumentów przekazywanych w odpowiednich metodach znaków specjalnych, dopóki nic nie dostanie. Metoda "Dolar1”Jest dla $@@ specjalny i„Dolar2”Dla $* funkcjonowanie znaku. Obie metody zawierają wywołanie metody foo () z znakiem specjalnym $@ i $* osobno, aby przekazać argumenty. Metody dolara1 i dolara 2 są wywoływane po instrukcjach ECHO, podczas gdy oba zawierają te same trzy argumenty jak ich wartości parametryczne:

Wykonanie kodu pokazuje dane wyjściowe zarówno dla metod Dolar1, jak i Dolar2 osobno. „Używanie $@” pokazuje wyjście dla $@, a „Używanie $*” wyświetla dane wyjściowe dla $*.

$ Bash One.cii

Wniosek:

Ten przewodnik opisał, jak używać $@ w skrypcie bash, deklaruj go i jak to działa. Opisaliśmy również różnicę między $@ a innymi postaciami związanymi z dolarami, aby uczynić ją bardziej zrozumiałym. Mamy nadzieję, że ci się podobało podczas wdrażania.