Na przykład podczas biegu
echo a; echo b
w terminalu jego wyjście to:
a
b
Wydaje mi się, że średnik czeka na pierwsze polecenie (echo a
), aby zakończyć, uruchamia drugie polecenie (echo b
).
P: Czy średnik jest używany do iteracji poleceń w bashu?
P: Co robi średnik, gdy jest uruchamiany w poleceniu bash?
Odpowiedzi:
1 dla odpowiedzi № 1The ;
oddziela dwa polecenia.
echo a; echo b
Pozwala to bashowi to wiedzieć echo a
i echo b
są dwiema osobnymi komendami i muszą być uruchamiane oddzielnie jeden po drugim
Spróbuj bez średników
$ echo a echo b
a echo b
Tutaj zdanie jest traktowane jako pojedyncze polecenie echo
i a echo b
jest przekazywane jako parametr do echo
2 dla odpowiedzi nr 2
Jest to separator instrukcji. Możesz także spróbować
sleep 1; echo a
który będzie czekał jedną sekundę, a następnie wyświetli a. Jak by to było
sleep 1 && echo a
1 dla odpowiedzi nr 3
to sposób na symulację nowej linii.
echo a; echo b
jest równa
echo a
echo b