Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Bash脚本如何在新进程中休眠,然后执行命令_Linux_Bash - Fatal编程技术网

Linux Bash脚本如何在新进程中休眠,然后执行命令

Linux Bash脚本如何在新进程中休眠,然后执行命令,linux,bash,Linux,Bash,所以,我想知道是否有一个bash命令可以让我分叉一个进程,该进程休眠几秒钟,然后执行一个命令 下面是一个例子: sleep 30 'echo executing...' & ^这实际上不起作用(因为sleep命令只接受time参数),但是有什么东西可以这样做吗?那么,基本上是一个sleep命令,它需要一个time参数和一些在间隔完成时执行的东西?我希望能够将它转移到另一个进程中,然后继续处理shell脚本 另外,我知道我可以编写一个简单的脚本来实现这一点,但由于某些情况的限制(我实际上

所以,我想知道是否有一个bash命令可以让我分叉一个进程,该进程休眠几秒钟,然后执行一个命令

下面是一个例子:

sleep 30 'echo executing...' &
^这实际上不起作用(因为sleep命令只接受time参数),但是有什么东西可以这样做吗?那么,基本上是一个sleep命令,它需要一个time参数和一些在间隔完成时执行的东西?我希望能够将它转移到另一个进程中,然后继续处理shell脚本


另外,我知道我可以编写一个简单的脚本来实现这一点,但由于某些情况的限制(我实际上是通过ssh调用传递的),我不希望这样做。

您可以在后台调用另一个shell,并使其执行您想要的操作:

bash -c 'sleep 30; do-whatever-else' &
默认的睡眠时间间隔是秒,因此上面提到的将睡眠30秒。您可以指定其他间隔,如:30分钟
30m
,1小时
1h
,或3天
3d

您可以这样做

(sleep 30 && command ...)&

使用
&&
更安全因为它确保
命令…
只有在睡眠计时器过期时才会运行。

谢谢!干净多了!这不会退出当前行,是否有方法在完成后向其添加CTRL+C