Как запустить функцию в фоновом режиме?

Ваш , если оператор неверен, он должен быть , если [$ i! = 10] . Пробелы вокруг [ являются обязательными, и ваши переменные должны иметь знак $ перед ним, если вы их читаете.

for i in {1..30}; do if [ $i != 10 ]; then echo "hello $i"; fi; done
5
29.10.2019, 19:52
2 ответа

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

#!/bin/bash
#
f() {
    sleep 1
    echo "f: Hello from f() with args($*)" >&2
    sleep 1
    echo "f: Goodbye from f()" >&2
}

echo "Running f() in the foreground" >&2
f one

echo "Running f() in the background" >&2
f two &

echo "Just waiting" >&2
wait

echo "All done"
exit 0
8
27.01.2020, 20:34

Вы запускаете их в фоновом режиме, как и любую другую команду оболочки или сценарий с & в конце.

Bash и подобные оболочки также позволяют комбинировать команды с ( и ) , например:

(command1; command2) &
3
27.01.2020, 20:34

Теги

Похожие вопросы