Tryb nocny
Literały i argumenty – Tworzenie skryptów Bash, krok po kroku.
Ta część strony została oznaczona, jakoby była w trakcie konstrukcji. To oznacza, że treść w miejscu tego komunikatu zostanie uzupełniona w najbliższym czasie.
Czym różni się lista argumentów od wejścia?
Lista argumentów jest przekazywana do skryptu w momencie wywoływania, wraz z całym poleceniem.
bash
bash skrypt.sh Argument1 Argument2 Argument3
bash skrypt.sh Argument1 Argument2 Argument3
Argumentami skryptu w powyższym wywołaniu jest lista składająca się z elementów Argument1
, Argument2
, Argument3
.
Należy odróżnić je od wejścia do skryptu. Wejście jest pobierane w trakcie działania samego skryptu. W powyższym przykładzie skrypt pobiera wejście bezpośrednio z terminala.
Argumenty są ustawiane przy wywołaniu skryptu, podczas gdy wejście jest pobierane w trakcie działania skryptu.
Argumenty i wejście mogą też być przyjmowane przez funkcje i różnica jest analogiczna.
Ta część strony została oznaczona, jakoby była w trakcie konstrukcji. To oznacza, że treść w miejscu tego komunikatu zostanie uzupełniona w najbliższym czasie.
Cytowanie tekstu
Spacja w powłoce Bash oddziela od siebie kolejne argumenty. Aby tekst ze spacją uznać za jeden argument, należy go zacytować, za pomocą cudzysłowu.
Ta część strony została oznaczona, jakoby była w trakcie konstrukcji. To oznacza, że treść w miejscu tego komunikatu zostanie uzupełniona w najbliższym czasie.
Operator dolara
Tekst wewnątrz cudzysłowu podwójnego może zawierać wartości wypełniane przez Basha. Do tego będzie służył operator dolara $
.
bash
imie=Jacek
echo "Witaj $imie"
imie=Jacek
echo "Witaj $imie"
Alternatywną składnią wstawienia wartości zmiennej jest ${zmienna}
.
bash
rozmiar=50
jednostka=m
echo "Wysokość drzewa: ${rozmiar} [${jednostka}]"
rozmiar=50
jednostka=m
echo "Wysokość drzewa: ${rozmiar} [${jednostka}]"
Wysokość drzewa: 50 [m]
Wysokość drzewa: 50 [m]
Przechwycenie wyjścia komendy
Możemy przechwycić wyjście komendy jako listę argumentów dla innej komendy
bash
nano "$(ls | grep Dok)"
nano "$(ls | grep Dok)"
Ta część strony została oznaczona, jakoby była w trakcie konstrukcji. To oznacza, że treść w miejscu tego komunikatu zostanie uzupełniona w najbliższym czasie.
Wstawienie znaków specjalnych
Możemy wstawić znak specjalny wewnątrz cytowanego w cudzysłowie podwójnym poprzez jedną z poniższych sekwencji wewnątrz każdego tekstu (literału).
Sekwencja | Znak specjalny |
---|---|
\$ | Znak dolara $ |
\n | Znak nowej linii |
\t | Tabulator |
\\ | Ukośnik wsteczny \ |
\" | Cudzysłów podwójny " |
W miejsce sekwencji zostanie wstawiony znak specjalny – specjalny dlatego, że jest trudny do napisania za pomocą standardowej klawiatury.
Ta część strony została oznaczona, jakoby była w trakcie konstrukcji. To oznacza, że treść w miejscu tego komunikatu zostanie uzupełniona w najbliższym czasie.
Wewnątrz cudzysłowu pojedynczego możemy wstawić sam cudzysłów za pomocą sekwencji \'