Сценарий оболочки: запустить блок кода в фоновом режиме без определения новой функции? - PullRequest
14 голосов
/ 22 декабря 2010

Есть ли способ «встроить» блок кода в фоновый режим без определения блока как функции?Я думал что-то вроде:

( do something; a bit more; finally this ) &
( more things; etc ...; ) &
wait
proceed ... 

Полагаю, это всего лишь одна дополнительная строка, определяющая одноразовую функцию, а затем сразу ее использующая, но мне было любопытно, и я ничего не нашел в поиске.

Ответы [ 2 ]

23 голосов
/ 22 декабря 2010
#!/bin/sh
{
    echo "sleeping for 5 seconds"
    sleep 5
    echo "woke up"
} &
echo "waiting"
wait
echo "proceed"

выход

$ ./bgblock
waiting
sleeping for 5 seconds
woke up
proceed
0 голосов
/ 16 мая 2018

Я мог бы сделать это примерно так:

#!/bin/sh
{
    echo "sleeping for 5 seconds"
    sleep 5
    echo "woke up"
} 1>/dev/null 2>&1 &
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...