Bei einem nicht interaktiven Skript ist die Jobsteuerung standardmäßig deaktiviert, Sie können sie jedoch mit set -m
oder aktivieren set -o monitor
. Hier ist ein Beispielskript:
# turn on job control set -o monitor # start a background task ( sleep 10 && echo "slept 10 seconds" ) & # do something else sleep 5 echo "slept 5 seconds" # bring the background task into the foreground fg echo "done"
Hier ist seine Ausgabe, wenn mit tracing ( bash -x script.sh
) ausgeführt wird:
+ set -o monitor + sleep 5 + sleep 10 + echo 'slept 5 seconds' slept 5 seconds + fg ( sleep 10 && echo "slept 10 seconds" ) + echo 'slept 10 seconds' slept 10 seconds + echo done done