0

有没有办法强制命令替换退出,让 baground 任务撤消?

例子:

cat test.sh
#! /bin/bash
sleep 5 &
echo "foo bar"

在没有命令替换的情况下运行它:

time bash test.sh
foo bar

real    0m0.005s
user    0m0.005s
sys 0m0.000s

使用命令替换:

time echo $(bash test.sh)
foo bar

real    0m5.004s
user    0m0.002s
sys 0m0.000s
4

1 回答 1

3

您需要将 stdout 和 stderr 重定向为sleep

#! /bin/bash
sleep 5 >/dev/null 2>&1 &
echo "foo bar"

执行后台任务的脚本上的 bash 命令替换

于 2014-07-21T17:46:49.317 回答