有没有办法在后台运行代码块“内联”而不将块定义为函数?我想的是:
( do something; a bit more; finally this ) &
( more things; etc ...; ) &
wait
proceed ...
我想这只是一行额外定义一次使用功能,然后立即使用它,但我很好奇,没有找到任何搜索。
答案 0 :(得分:23)
#!/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
答案 1 :(得分:1)
那不是(完全)真实的,SiegeX回复了Steven Lou 语法的原因 {cmd || cmd2}和 没用是因为应该这样: {cmd || cmd2;}&
答案 2 :(得分:0)
我可以用这样的东西来做:
#!/bin/sh
{
echo "sleeping for 5 seconds"
sleep 5
echo "woke up"
} 1>/dev/null 2>&1 &