Bash Jak wykonać polecenie w zmiennej?

Bash How Execute Command Variable



Skrypty Bash można tworzyć na wiele różnych sposobów, a większość z nas jest zaznajomiona z wykonywaniem prostych poleceń w skrypcie Bash. Jednak te polecenia mogą być również zawarte w zmiennych w Bash. Ten proces jest znany jako zastępowanie poleceń i jest zwykle używany do przechowywania danych wyjściowych polecenia w zmiennej, dzięki czemu nie musisz wielokrotnie uruchamiać tego polecenia zamiast tego można po prostu uzyskaćdostęp do tej zmiennej, aby uzyskaćwyjście tego polecenia kiedykolwiek chcesz. W tym artykule pokażemy, jak można to zrobić.

Uwaga: Wszystkie przedstawione poniżej scenariusze zostały przeprowadzone na Ubuntu 20.04. Jednak będą działać dokładnie w ten sam sposób z każdym innym smakiem Linuksa.







Sposób wykonania polecenia w zmiennej w Bash:

W celu zademonstrowania sposobu wykonania polecenia w zmiennej w Bash przedstawimy trzy różne scenariusze, które są następujące:



Wykonywanie polecenia echo zapisanego w zmiennej:

To najprostszy scenariusz, w którym naszym celem jest wykonanie polecenia echo przechowywanego w zmiennej. Aby tak się stało, będziesz musiał wykonać serię kroków wymienionych poniżej:



Krok nr 1: Tworzenie skryptu Bash:

Musisz utworzyć skrypt Bash w swoim folderze domowym, dla którego musisz kliknąć ikonę Menedżera plików, jak widać na poniższym obrazku:





Teraz znajdź dowolne miejsce w folderze domowym i kliknij je prawym przyciskiem myszy, aby uruchomić menu. Wybierz opcję Nowy dokument z tego menu, a następnie wybierz opcję Pusty dokument z podkaskadowego menu. Spowoduje to utworzenie nowego dokumentu w folderze domowym. Teraz zmień nazwę tego nowo utworzonego dokumentu na dowolną wybraną nazwę z rozszerzeniem .sh. W naszym przypadku nazwaliśmy go CommandVar.sh.



Aby napisać skrypt Bash w tym pliku, kliknij go dwukrotnie, aby go otworzyć, a następnie wpisz skrypt pokazany na obrazku poniżej w pliku Bash. Tutaj pierwsza linia skryptu, tj. #!/bin/bash, pokazuje, że ten plik jest w rzeczywistości plikiem Bash. Następnie utworzyliśmy zmienną o nazwie test i przypisaliśmy jej wartość $(echo Cześć!). Za każdym razem, gdy chcesz zapisać polecenie w zmiennej, musisz wpisać to polecenie poprzedzone symbolem $. W tym przypadku chcieliśmy zapisać polecenie echo w zmiennej test, więc po prostu wpisaliśmy polecenie echo, a następnie losową wiadomość i umieściliśmy ją w okrągłych nawiasach, a przed nią umieściliśmy symbol $. Więc teraz, jeśli chcemy wykonać to polecenie echo, będziemy musieli uzyskać dostęp do zmiennej testowej. Dlatego, aby zweryfikować, czy polecenie echa przechowywane w zmiennej test może zostać pomyślnie wykonane, czy nie, wydrukowaliśmy dane wyjściowe zmiennej test na terminalu, korzystając z innego polecenia echa. Po wpisaniu tego skryptu musisz zapisać plik i zamknąć go.

Krok nr 2: Wykonywanie skryptu Bash za pośrednictwem terminala:

Teraz musisz wykonać ten skrypt za pomocą terminala. Otwórz więc terminal w Ubuntu 20.04, a następnie wpisz w nim następujące polecenie:

grzmotnąćCommandVar.sh

Kiedy naciśniesz klawisz Enter, aby wykonać to polecenie, będziesz mógł zobaczyć następujące dane wyjściowe na swoim terminalu. Tutaj podświetlona część danych wyjściowych jest wynikiem polecenia echa, które zostało zapisane w zmiennej testowej.

Wykonywanie polecenia seq przechowywanego w zmiennej:

W tym scenariuszu wydrukujemy sekwencję liczb za pomocą polecenia seq przechowywanego w zmiennej. Aby tak się stało, zmodyfikujemy utworzony powyżej skrypt Bash, wykonując następujące kroki:

Krok nr 1: Modyfikowanie utworzonego powyżej skryptu Bash:

Otwórz plik Bash, który utworzyłeś w powyższej metodzie i wpisz w nim następujący skrypt. Tutaj stworzyliśmy zmienną o nazwie sekwencja. Naszym celem jest wypisanie liczb od 1 do 10 podczas używania polecenia seq. W tym celu przypisaliśmy zmiennej sekwencji wartość $(seq 1 10). Jeśli chcesz, możesz również określić dowolny inny zakres liczb. Pierwsza liczba po poleceniu seq wskazuje dolną granicę sekwencji, podczas gdy druga liczba odnosi się do górnej granicy. Po wpisaniu tego skryptu zapisz plik i zamknij go.

Krok nr 2: Wykonywanie zmodyfikowanego skryptu Bash za pośrednictwem terminala:

Teraz wykonaj skrypt Bash w taki sam sposób, jak wyjaśniono powyżej, a będziesz mógł zobaczyć określoną sekwencję na swoim terminalu, jak pokazano na poniższym obrazku:

Wykonywanie polecenia „pwd” zapisanego w zmiennej:

Możesz także wydrukować swój katalog roboczy, używając polecenia pwd przechowywanego w zmiennej. Aby to zademonstrować, ponownie zmodyfikujemy utworzony powyżej skrypt Bash, wykonując czynności wymienione poniżej:

Krok nr 1: Modyfikowanie utworzonego powyżej skryptu Bash:

Otwórz plik Bash, który właśnie zmodyfikowałeś, a następnie wpisz w nim skrypt pokazany na poniższym obrazku. W tym skrypcie utworzyliśmy zmienną o nazwie working_directory i przypisaliśmy jej wartość $(pwd). Polecenie pwd po prostu zapisze swoje dane wyjściowe, tj. bieżący katalog roboczy w zmiennej working_directory. Aby upewnić się, czy polecenie pwd zostało wykonane poprawnie, czy nie, wydrukowaliśmy wartość zmiennej working_directory na terminalu za pomocą polecenia echo. Teraz zapisz ten plik, a następnie zamknij go po wpisaniu w nim zmodyfikowanego skryptu Bash.

Krok nr 2: Wykonywanie zmodyfikowanego skryptu Bash za pośrednictwem terminala:

Teraz wykonaj ten skrypt Bash w ten sam sposób, jak wyjaśniono powyżej. Dane wyjściowe tego skryptu Bash pokażą bieżący katalog roboczy. Podświetlona część danych wyjściowych jest w rzeczywistości wynikiem polecenia pwd.

Wniosek:

Ten artykuł daje bardzo dobre wyobrażenie o tym, jak wykonać polecenie przechowywane w zmiennej w Bash i uzyskać takie same dane wyjściowe, jak w przypadku niezależnego uruchomienia polecenia.