zmienna = $ (polecenie)
zmienna = $ (polecenie [opcja…] argument1 argumenty2…)
zmienna = $ (/ścieżka/do/polecenie)
LUB
zmienna = „polecenie”
zmienna = 'polecenie [opcja…] argument1 argumenty2…' '
zmienna = '/ścieżka/do/polecenie' '
*** Uwaga: Nie używaj żadnej przestrzeni przed i po równym znaku podczas korzystania z powyższych poleceń.
Wyjście pojedynczego polecenia do zmiennej
Polecenia Bash można używać bez żadnej opcji i argumentu dla tych poleceń, w których te części są opcjonalne. Poniższe dwa przykłady pokazują zastosowania prostego zastąpienia dowodzenia.
Przykład 1:
bash 'data' Polecenie służy do pokazania bieżącej daty i godziny. Poniższy skrypt będzie przechowywać dane wyjściowe 'data' polecenie $bieżąca data zmienna za pomocą podstawienia dowodzenia.
$ current_date = $ (data)
$ echo „Dzisiaj jest $ current_date”
Wyjście:
Przykład nr 2:
„PWD” Polecenie pokazuje ścieżkę bieżącego katalogu roboczego. Poniższy skrypt przechowuje dane wyjściowe „PWD” polecić zmienną, $ current_dir a wartość tej zmiennej jest drukowana przy użyciu 'Echo' Komenda.
$ current_dir = 'pwd'
$ echo „Obecny katalog to: $ current_dir”
Wyjście:
Polecenie z opcją i argumentem
Opcja i argument są obowiązkowe dla niektórych poleceń Bash. Poniższe przykłady pokazują, w jaki sposób można przechowywać dane wyjściowe polecenia z opcją i argumentem w zmiennej.
Przykład nr 3:
Bash 'toaleta' Polecenie służy do zliczenia całkowitej liczby wierszy, słów i znaków dowolnego pliku. To polecenie używa -c, -w i -l jako opcji i nazwy pliku jako argumentu do wygenerowania danych wyjściowych. Utwórz plik tekstowy o nazwie owoce.tekst z następującymi danymi do przetestowania następnego skryptu.
owoce.tekst
Uruchom następujące polecenia, aby się liczyć i przechowywać całkowitą liczbę słów w owoce.tekst Plik do zmiennej, $ frain_words i wydrukuj wartość za pomocą 'Echo' Komenda.
$ frain_words = 'wc -w owoce.tekst'
$ echo "Całkowite słowa w owocach.TXT to $ hrabit_words "
Wyjście:
Przykład nr 4:
'cięcie' to kolejne polecenie bash, które używa opcji i argumentu do wygenerowania danych wyjściowych. Utwórz plik tekstowy o nazwie dzień powszedni.tekst z siedmiotygodniowymi nazwami, aby uruchomić następny skrypt.
dzień powszedni.tekst
PoniedziałekUtwórz plik bash o nazwie CMDSub1.cii z następującym skryptem. W tym skrypcie, chwila pętla służy do odczytania zawartości dzień powszedni.tekst linia pliku po wierszu i odczytaj pierwsze trzy znaki każdego wiersza za pomocą 'cięcie' Komenda. Po cięciu wartość ciągu jest przechowywana w zmiennej $ dzień. Następnie, jeśli instrukcja jest używana do sprawdzenia wartości $ dzień Jest 'Słońce' albo nie. Wyjście wydrukujeNiedziela to święto„Jeśli warunek jest prawdziwy, w przeciwnym razie wydrukuje wartość $ dzień.
CMDSub1.cii
#!/bin/bash
FileName = 'WEDEDDAD.tekst'
podczas linii odczytu; Do
Day = 'echo $ line | Cut -c 1-3 '
Jeśli [$ day == „Sun”]
Następnie
Echo „Niedziela to święto”
w przeciwnym razie
Echo $ dzień
fi
zrobione<$filename
Uruchom skrypt.
$ CAT WEDEKDDAD.tekst
$ bash cmdsub1.cii
Wyjście:
Korzystanie z podstawienia dowodzenia w pętli
Możesz przechowywać dane wyjściowe podstawienia dowodzenia w dowolnej zmiennej pętli, która jest pokazana w następnym przykładzie.
Przykład nr 5:
Utwórz plik o nazwie CMDSub2.cii z następującym kodem. Tutaj, 'ls -d */„Polecenie służy do pobierania wszystkich listy katalogów z bieżącego katalogu. Do odczytania każdego katalogu z wyjścia używana jest pętla $ dirname który jest wydrukowany później.
CMDSub2.cii
#!/bin/bash
dla dirname in $ (ls -d */)
Do
echo „$ dirname”
zrobione
Uruchom skrypt.
$ bash cmdsub2.cii
Wyjście:
Za pomocą zagnieżdżonych poleceń
Jak możesz używać wielu poleceń za pomocą rury (|), jest pokazany w poprzednim przykładzie. Ale możesz użyć zagnieżdżonych poleceń w podstawieniu dowodzenia, w których wyjście pierwszego polecenia zależy od wyjścia drugiego polecenia i działa przeciwnie do polecenia rur (|).
Zagnieżdżone składnia poleceń:
var = 'Command1 \' Command \ "
Przykład nr 6:
Dwa polecenia ”Echo' I 'Kto„są używane w tym przykładzie jako zagnieżdżone polecenie. Tutaj, 'Kto„Polecenie zostanie najpierw wykonane, aby wydrukować informacje użytkownika aktualnie zalogowanego użytkownika. Wyjście ''Kto„Polecenie zostanie wykonane przez”Echo„polecenie i wyjście”Echo„Będzie przechowywać w zmiennej $ var. Tutaj wyjścieEcho„polecenie zależy od wyjścia”Kto' Komenda.
$ var = 'echo \', kto \ "
$ echo $ var
Wyjście:
Za pomocą ścieżki poleceń
Jeśli znasz ścieżkę polecenia, możesz uruchomić polecenie, określając ścieżkę polecenia podczas używania podstawienia polecenia. Poniższy przykład pokazuje użycie ścieżki poleceń.
Przykład#7:
'kim jestem' Polecenie pokazuje nazwę użytkownika aktualnie zalogowanego użytkownika. Domyślnie to polecenie jest przechowywane w /USR/kosz/ teczka. Uruchom następujący skrypt, aby uruchomić 'kim jestem' polecenie za pomocą ścieżki i magazynu w zmiennej, $ wyjście, i wydrukuj wartość $ wyjście.
$ output = $ (/usr/bin/whoami)
$ echo $ wyjście
Wyjście:
Korzystanie z argumentu wiersza poleceń
Możesz użyć argumentu wiersza polecenia z poleceniem jako argumentu w podstawieniu dowodzenia.
Przykład#8:
Utwórz plik bash o nazwie CMDSub3.cii z następującym skryptem. 'Basename„Polecenie jest używane tutaj do odzyskania nazwy pliku z 2Nd Argument wiersza poleceń i przechowywany w zmiennej, $ nazwa pliku. Znamy 1St Argument wiersza poleceń to nazwa wykonywania skryptu oznaczonego przez 0 USD.
#!/bin/bash
filename = 'basename $ 1'
echo „Nazwa pliku to $ nazwa pliku."
Uruchom skrypt z następującą wartością argumentu.
$ bash cmdsub3.SH Desktop/Temp/Hello.tekst
Tutaj, nazwa podstawy ścieżki, Desktop/Temp/Hello.tekst Jest 'Witam.tekst'. Więc wartość $ nazwa pliku będzie Witam.tekst.
Wyjście:
W tym samouczku pokazano różne zastosowania podstawień dowodzenia. Jeśli chcesz pracować z wieloma poleceniami lub zależne polecenia i przechowywać wynik tymczasowo, aby wykonać inne zadania później, możesz użyć tej funkcji w skrypcie, aby uzyskać wyjście.
Więcej informacji w filmie: