有没有办法强制命令替换退出离开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
答案 0 :(得分:3)
您需要为sleep
重定向stdout和stderr:
#! /bin/bash
sleep 5 >/dev/null 2>&1 &
echo "foo bar"
bash command substitution on a script that executes a background task