Mit GNU-Timeout:
timeout 20 tail -f /path/to/file
Der Vollständigkeit halber ohne timeout , können Sie Folgendes tun:
#!/bin/sh
tail -f /var/log/syslog &
me=$!
trap "kill $me" INT TERM HUP QUIT EXIT
sleep 20
Die trap line stellt sicher, dass, wenn das Skript oder die übergeordnete Shell beendet wird (wir erreichen das Ende des Skripts (EXIT), Strg-C (INT), Senden eines SIGTERM über kill , Abmelden von der Shell (HUP) usw.) und dann tail wird getötet.