使用多个命令的睡眠

时间:2010-12-05 21:52:06

标签: unix

用什么命令我们可以在后台启动五个命令,每个命令都睡10秒

2 个答案:

答案 0 :(得分:1)

在shell中,你可以这样做:

#!/bin/sh
sleep 10 && command1 &
sleep 10 && command2 &
sleep 10 && command3 &
sleep 10 && command4 &
sleep 10 && command5 &

最后的&告诉命令背景。

要将其转换为通用脚本,您可以执行以下操作:

#!/bin/sh
sleep 10 && $1 &
sleep 10 && $2 &
sleep 10 && $3 &
sleep 10 && $4 &
sleep 10 && $5 &

用法:

./script 'echo 1' 'echo 2' 'echo 3' 'echo 4' 'echo 5'

注意:您通常希望引用传递给shell脚本的参数(即"$1"),因此空格不会分成单词。因为我没有这样做,所以参数被分成单词,因此变为&& echo 1而不是&& "echo 1"。这对于我们的简单示例非常有用,但是当您想要运行'/usr/bin/command with spaces'

时则不行

答案 1 :(得分:0)

你是说这个意思吗?对我来说听起来很奇怪

sleep 10 &
sleep 10 &
sleep 10 &
sleep 10 &
sleep 10 &