Chociaż jest to uczciwe pierwsze przybliżenie, kiedy zaczynasz uczyć się samych podstaw korzystania z powłok, na poziomie „tutaj jest sposób uruchamiania programu” i „tutaj jest to, jak uruchamia się wiele programów jeden po drugim w jednym wierszu” , to nie jest tak naprawdę prawda.
Trudniejsze do zrozumienia dla początkującego, ale bardziej poprawne jest to, że językiem powłoki jest język komputerowy . Ma składnię . Ta składnia obejmuje różne elementy leksykalne, w tym (między innymi) znaki nowej linii, operatory, słowa i słowa zastrzeżone.
if
, then
, else
, I fi
są zarezerwowane słowa . Mają one szczególne znaczenie podczas analizowania danych wejściowych przekazywanych powłoce, zgodnie z jej gramatyką . Podobnie ;
jest operatorem separatora .
Dane wejściowe w języku powłoki są zatem, jako całość, programem komputerowym interpretowanym przez inny program, tłumacza , powłokę. Poszczególne części gramatyczne nie są programami. Język powłoki to sposób określania (innych) programów do uruchomienia powłoki.
[
nie jest specjalnym elementem leksykalnym w gramatyce powłoki, takim jak operator. Jest to zwykłe słowo , które nazywa jeden taki program o nazwie [
. Wiele powłok ma wbudowaną wersję tego programu, połączoną z kodem samego programu powłoki, ale można także znaleźć program zewnętrzny o tej nazwie, np. /bin/[
Lub /usr/bin/[
, który programy inne niż powłoki mogą wywoływać. Podobnie, ]
nie jest też specjalnym elementem leksykalnym powłoki. To zwykłe słowo, które staje się argumentem dla [
programu. [
Program wymaga, że jej ostatni argument, gdy jest ona wykonywana, bądź ]
, który następnie przechodzi do zignorowania.
Innym podobnym programem wymienionym w twoim pytaniu jest echo
. Ponownie, większość powłok ma wbudowaną wersję tego programu. Ale znowu jest też zewnętrzna wersja programu, taka jak /bin/echo
lub /usr/bin/echo
, do wywoływania programów innych niż powłoki.
Trzeci program wymieniony w twoim pytaniu to ls
. Powłoki na ogół nie mają wbudowanych wersji tego programu i jest to program zewnętrzny, który można znaleźć gdzieś np. /bin/ls
Lub /usr/bin/ls
.
Więcej informacji na temat powłoki Bourne Again można znaleźć w Podstawowych funkcjach powłoki dokumentacji GNU Bourne Again. Inne skorupy mają naturalnie inną gramatykę. Specyfikacja Single Unix opisuje składnię, do której powinny stosować się wszystkie powłoki zgodne z POSIX (w ich trybach zgodnych z POSIX).
Dalsza lektura
- „ Gramatyka powłoki ”. Język poleceń powłoki . Podstawowe specyfikacje Wydanie 7. Grupa otwarta. IEEE 1003.1-2008. ISBN 1937218812.
test
. Użytkowe . Podstawowe specyfikacje Wydanie 7. Grupa otwarta. IEEE 1003.1-2008. ISBN 1937218812.
- „ Gramatyka powłoki ”. Podręcznik Z Shell . wersja 5.3.1. 2017 r.