Możesz rozdzielić wiele poleceń ;
, dzięki czemu są one wykonywane sekwencyjnie, na przykład:
really_long_script.sh ; echo Finished
Jeśli chcesz uruchomić następny program tylko wtedy, gdy skrypt zakończy się kodem powrotu 0 (co zwykle oznacza, że wykonał się poprawnie), to:
really_long_script.sh && echo OK
Jeśli chcesz mieć coś przeciwnego (tzn. Kontynuuj tylko wtedy, gdy bieżące polecenie nie powiodło się), niż:
really_long_script.sh || echo FAILED
Możesz uruchomić skrypt w tle (ale uważaj, dane wyjściowe skryptów ( stdout
i stderr
) będą nadal przechodzić do terminala, chyba że gdzieś go przekierujesz), a następnie wait
:
really_long_script.sh &
dosomethingelse
wait; echo Finished
Jeśli skrypt został już uruchomiony, możesz go zawiesić Ctrl-Z
, a następnie wykonać coś takiego:
fg ; echo Finished
Gdzie fg
przenosi zawieszony proces na pierwszy plan ( bg
sprawiłby, że działałby w tle, prawie jak na początku &
)