Wystarczy dodać kilka punktów do doskonałej odpowiedzi @Wilf,
możesz uruchamiać polecenia równolegle, jeśli chcesz z jakiegokolwiek powodu, na przykład autostart
skrypt dla OpenBox może wyglądać następująco:
#!/bin/bash
nitrogen --restore &
tint2 &
tilda
Spowoduje to ustawienie obrazu tła za pomocą nitrogen
, uruchomienie panelu tint2
i uruchomienie rozwijanej konsoli w stylu Quake3 tilda
, wszystkie jednocześnie. Jest to przydatne, jeśli nie potrzebujesz programu do zakończenia przed uruchomieniem następnego. Nie w przypadku apt-get update
, a apt-get upgrade
jednak!
Zwróć uwagę na &
znak na końcu każdej linii. Spowoduje to, że powłoka rozwidli ten proces w tło i będzie kontynuować wykonywanie. Zauważ, że różni się od &&
, który jest w zasadzie and
znakiem, command_1 && command_2
wykona się command_1
i jeśli zakończy się sukcesem, tylko wtedy uruchomi się command_2
, a command_1 & command_2
rozpocznie drugi zaraz po pierwszym.
Ponadto możesz po prostu układać polecenia w stosy, aby były one wykonywane szeregowo, na przykład:
#!/bin/bash
apt-get update
apt-get upgrade
Będzie to działać apt-get upgrade
po apt-get update
jest zakończona , ale niezależnie od wyniku. Tak więc nawet jeśli na przykład aktualizacja zakończy się z powodu błędu sieci, aktualizacja będzie nadal uruchomiona.
Można również zrobić to w jednym wierszu, używając ;
znaku: apt-get update ; apt-get upgrade
. Ponownie, to rozwiązanie nie jest optymalne dla tych konkretnych poleceń, ale może się przydać w innych sytuacjach.
Jeden szybki punkt końcowy, możesz także przełamać linie zawierające &&
jako takie:
command_1 &&
command_2
Będzie to to samo, co command_1 && command_2
.