Jak przekazać argument w skrypcie Bash?

Jak przekazać argument w skrypcie Bash?
Większość użytkowników Linux Mint 20 utknęła podczas przekazywania argumentu w skrypcie Bash. Możesz przekazać argumenty do dowolnego skryptu Bash, gdy zostanie wykonany. Istnieje kilka prostych i przydatnych sposobów przekazywania argumentów w skrypcie Bash. W tym przewodniku artykułów damy Ci znać o kilku bardzo łatwych sposobach przekazywania i używania argumentów w skryptach Bash.

Przekazywanie argumentów za pomocą zmiennych domyślnych:

Utwórz nowy plik o dowolnej nazwie za pomocą polecenia „dotyk”, e.G., "plik.cii".

$ Touch Filename

Otwórz ten nowo utworzony plik i dodaj do niego skrypt bash. Dodałem pewne domyślne zmienne, e.G. „1 USD”, „2 USD” i „3 USD”. Jakie argumenty zostaną przekazane przez terminal, zostaną przechowywane w określonych zmiennych.

Musisz uruchomić ten plik za pomocą „./”Polecenie, a następnie niektóre argumenty. Jak widać na zdjęciu, że kiedy przekazałem argumenty, wystąpi błąd: odmowa odmowa. Dzieje się tak, ponieważ ten plik nie ma praw wykonania.

$ ./argument argument1 argument2 argument2

Aby udzielić prawa wykonania do tego pliku, użyj polecenia sudo „chmod”, aby to zrobić.

$ sudo chmod +x nazwa pliku

Teraz ponownie uruchom plik za pomocą tego samego powyższego polecenia. Tym razem podałem różne argumenty. Zobaczysz, że nowo przekazane argumenty są przechowywane w zmiennych domyślnych.

Przekazywanie nazwy skryptu powłoki jako argumentu:

Teraz używając tego samego starego pliku „Plik.sh ”z niewielką zmianą zmiennych domyślnych. Musisz dodać zmienną „0 $” w skrypcie, jak pokazano.

Po uruchomieniu tego samego „./”Polecenie skryptu powłoki, nazwa twojego skryptu powłoki, e.G. "./nazwa pliku ”będzie przechowywana w zmiennej„ 0 USD ”jako argument.

Przekazywanie argumentów jako tablicy do zmiennej:

Zaczynając od tego samego pliku „Plik.sh ”, musisz dodać dodatkowe wiersze w starym skrypcie. Dokonaj zmiennej o nazwie „tablica”. Dodaj domyślną zmienną „$@”, która będzie przechowywać argumenty wprowadzone przez użytkownika jako tablica. Argumenty te zostaną przeanalizowane na zmienną „tablicę”. Ostatni wiersz wyświetli wszystkie argumenty zmiennej „tablica” posortowana według numeru indeksu.

Wykonaj „./" Skrypt powłoki. Zobaczysz, że wyświetli się argumenty lub wartości zapisane jako tablica w „$@” analizowana na zmienną „tablicę”, ale nie nazwę skryptu powłoki w drugiej instrukcji „echo”. Będziesz mieć następujące dane wyjściowe.

$ ./argument argument1 argument2 argument2

Użyj tego samego pliku z tym samym skryptem. Wystarczy usunąć „$ array [3] z ostatniego wiersza jako jasne na zdjęciu.

Po wykonaniu „./”Polecenie, zobaczysz podobne dane wyjściowe, jak dostałeś w powyższym przykładzie bez zmiany.

Możesz również uzyskać ten sam wynik, zastępując ostatni wiersz skryptu Bash jedno słowo. Musisz tylko dodać „$@” w instrukcji echo, a wyświetli argumenty obecne w tej tablicy zmiennej.

Więc uruchamianie „./”Ponownie, otrzymasz te same wyniki.

Sprawdź całkowitą liczbę przekazanych argumentów:

Przeciwnie, jeśli chcesz poznać całkowitą liczbę argumentów przekazanych przez użytkownika, możesz to zrobić. W tym celu wystarczy zastąpić „$@” na „$#” w „Echo”.

Ponownie wykonanie „./”Polecenie, zobaczysz teraz całą liczbę argumentów przekazywanych do skryptu. W naszym przypadku 3 argumenty są przekazywane jako wartość.

Utwórz linię według wyjścia linii argumentów:

Utwórz nowy plik „Testuj.sh ”w katalogu domowym. Dodaj skrypt bash, jak pokazano.

Teraz uruchom to samo stare polecenie z różnymi argumentami. Po pierwsze, zobaczysz błąd: odmowa pozwolenia.

Musisz wykonać polecenie „CHMOD”, aby udzielić tego pliku uprawnień sudo. Potem uruchom „./”Polecenie skryptu ponownie. I otrzymasz linię po wysortowanej linii wyjściowej argumentów.

Ogranicz zmienną za pomocą numeru indeksu argumentów:

Jeśli chcesz ograniczyć zmienną za pomocą jej numeru indeksu, możesz to zrobić bardzo łatwo. Dodaj nawiasy kręcone po znaku „$” i dodaj numer indeksu argumentów, który chcesz wyświetlić przed innymi argumentami.

Jeśli argumenty dostarczone przez użytkowników są mniejsze niż numer indeksu podany w zmiennej limitu, otrzymasz pustą wartość argumentu. Jako instancję podałem 4 argumenty, ale podałem wartość argumentu „05” do wyświetlenia. W tej sytuacji zmienna zostanie wyświetlona pusta, ponieważ piąty argument nie został przekazany.

Ale kiedy zdasz równą lub większą liczbę argumentów w poleceniu, otrzymasz wartość wyświetlaną w wyniku, jak pokazano.

Sprawdzanie argumentów określonej wartości:

Zrób nowy plik o nazwie „Sprawdź.sh ”w katalogu domowym. Dodaj ten sam skrypt bash, jak pokazano na poniższym obrazku. W tym skrypcie mamy zmienną „var” do przechowywania wartości argumentu przekazanej przez użytkownika. Następnie mamy instrukcję „If”, która sprawdzi, czy wartość argumentu zostanie dopasowana, czy nie. Jeśli wartość argumentu jest dopasowana do wartości podanej w nawiasie, zostanie wykonana pierwsza instrukcja „echo”. Jeśli wartość nie pasuje, druga instrukcja „echo” zostanie wykonana.

Po uruchomieniu polecenia skryptu powłoki podnosi błąd. Korzystając z polecenia „CHMOD”, możemy poprawić ten błąd.

Następnie wykonaj skrypt powłoki dla konkretnego pliku z pewną wartością argumentów. W naszym przypadku podaliśmy „AQSA” jako wartość argumentu, która jest taka sama jak wartość wyświetlana w nawiasie. Więc skrypt bash wykona pierwszą instrukcję „echo”, jak pokazano.

Z drugiej strony, jeśli podasz różne wartości argumentów w skrypcie powłoki, wyświetli drugą instrukcję „echo”. Tutaj dodałem „Rimsha” jako wartość argumentu, która różni się od wartości podanej w instrukcji IF. Więc skrypt bash wykona drugą instrukcję „echo”.

Wniosek:

Mam nadzieję, że ten przewodnik pomógł ci wystarczająco, aby mieć silny przyczepność na to, jak przekazać argumenty do zmiennych domyślnych, przekazać wartość argumentu jako tablicę do zmiennej, uzyskaj całkowitą liczbę przekazanych argumentów, linii wyjściowej argumentów, ogranicz argument argument Wyjście za pomocą numeru indeksu, sprawdzanie argumentu określonej wartości i wiele innych.