Как я могу породить процесс после задержки сценария оболочки? Я хочу, чтобы команда запустилась спустя 60 секунд после того, как сценарий запускается, но я хочу продолжать управлять остальной частью сценария без ожидающих 60 секунд сначала. Вот идея:
#!/bin/sh
# Echo A 60 seconds later, but without blocking the rest of the script
sleep 60 && echo "A"
echo "B"
echo "C"
Вывод должен быть
B
C
... 60 seconds later
A
Я должен быть в состоянии сделать это все в одном сценарии. Т.е. никакое создание второго сценария, который называют из первого сценария оболочки.
& запускает фоновое задание, поэтому
sleep 60 && echo "A" &
Небольшое расширение других ответов - дождаться фоновых команд в конце скрипта.
#!/bin/sh
# Echo A 60 seconds later, but without blocking the rest of the script
set -e
sleep 60 && echo "A" &
pid=$!
echo "B"
echo "C"
wait $pid
Не могу попробовать прямо сейчас но
(sleep 60 && echo "A") &
должен выполнить свою работу